R:Base 5.0 Online Help
What's New in R:BASE 5.5

Command Index

Data Types

Functions

Reference Topics

How To...

Buttons

Menu Commands

Hot Keys

Technical Support


Data Types
	BINARY	DEC	NUMERIC
	BIT	DECIMAL	REAL
	BIT VARYING	DOUBLE	SMALLINT
	BITNOTE	FLOAT	TEXT
	CHAR	INT	TIME
	CHAR VARYING	INTEGER	VARBINARY
	CHARACTER	LONG VARBINARY	VARBIT
	CURRENCY	LONG VARBIT	VARCHAR
	DATE	LONG VARCHAR
	DATETIME	NOTE


Technical Support

If you have a question about R:BASE 5.x and can't find the answer in your documentation, you get information from a variety of sources:

  Call our Technical Support Department at (206) 649-9551 Monday through Friday, 7 AM to 4 PM Pacific time

  Access the Microrim Home Page on the World Wide Web.  Our address is:  http://www.microrim.com

  Access our Forum on CompuServe. If you are already a member of CompuServe, type Go Microrim. Call CompuServe at (800) 524-3388 for information about joining.

  Call our electronic Bulletin Board System (BBS) at (206) 649-9836.

Microrim has a number of different services available for R:BASE products. If you purchased this product at a retail outlet, please remember to mail in your registration card. As a registered user, you will receive information about new releases of R:BASE 5.x and other Microrim products.

When you call, you should be at your computer ready to enter commands suggested by our technical staff. Please be prepared to refer to the following:

  The technical support registration number, which is located on the registration card included with this product. If you purchased this product directly from Microrim, your technical support registration number can be found on your invoice or packing sheet.

  The R:BASE User's Manual and Reference Manual.

  The type of hardware and operating system you are using.

  Details regarding your operating environment, such as available memory, disk space, your version of R:BASE, local area network, special drivers, related database structures, application files, and other files that are used or accessed by your application.


Hot Keys
	Application Designer	Label Designer
	Data Browser	Query By Example
	Database Designer	R> Prompt
	Form Designer	Report Designer
	Forms Runtime	Settings
	Import/Export	Text Editor
	Interactive Debugger


Functions
 View Functions by Category

A	ABS	ACOS
	AINT	ANINT
	ASIN	ATAN2
	ATAN
C	CHAR	CHKKEY
	COS	COSH
	CTR	CTXT
	CVAL
D	DATETIME	DEXTRACT
	DIM
E	ENVVAL	EXP
F	FLOAT	FORMAT
	FV1	FV2
G	GETKEY
I	ICAP1	ICAP2
	ICHAR	IDAY
	IDWK	IFEQ
	IFGT	IFLT
	IFRC	IHR
	IMIN	IMON
	INT	ISEC
	ISTAT	IYR
J	JDATE
L	LASTKEY	LAVG
	LJS	LMAX
	LMIN	LOG10
	LOG	LUC
M	MOD
N	NINT
P	PMT1	PMT2
	PV1	PV2
R	RATE1	RATE2
	RATE3	RDATE
	RJS	RTIME
S	SFIL	SGET
	SIGN	SINH
	SIN	SLEN
	SLOC	SMOVE
	SPUT	SQRT
	SRPL	SSUB
	STRIM
T	TANH	TAN
	TDWK	TERM1
	TERM2	TERM3
	TEXTRACT	TMON
U	ULC	User-Defined Functions


Functions
 View the Function Index

Arithmetic and Mathematical Functions

	ABS	DIM	EXP	LAVG
	LMAX	LMIN	LOG	LOG10
	MOD	SIGN	SQRT
Conversion Functions

	AINT	ANINT	CHAR	CTXT
	FLOAT	ICHAR	INT	NINT
Date and Time Functions

	DATETIME	DEXTRACT	IDAY	IDWK
	IFRC	IHR	IMIN	IMON
	ISEC	IYR	JDATE	RDATE
	RTIME	TDWK	TEXTRACT	TMON
Financial Functions

	FV1	FV2	PMT1	PMT2
	PV1	PV2	RATE1	RATE2
	RATE3	TERM1	TERM2	TERM3
Keyboard and Operating System Functions

	ENVVAL	CVAL	CHKKEY
	GETKEY	ISTAT	LASTKEY
Logical Functions

	IFEQ	IFGT	IFLT
String Manipulation Functions

	CTR	FORMAT	ICAP1	ICAP2	LJS
	LUC	RJS	SFIL	SGET	SLEN
	SLOC	SMOVE	SPUT	SRPL	SSUB
	STRIM	ULC
Trigonometric Functions

	ACOS	ASIN	ATAN	ATAN2	COS
	COSH	SIN	SINH	TAN	TANH
User-Defined Functions


Reference Topics
Binary Large Objects

Constraints

Displaying Fonts

Entry/Exit Procedures

Expressions

Foreign Data Sources and ODBC

Indexes

Multi-User Mode

PAGEMODE Code Examples

Rules

Startup Files

Transaction Processing

Using Previous Versions of Forms, Reports, or Labels


Command Index
How to Read Command Syntax

A	ALTER TABLE	APPEND
	ATTACH	AUTOCHK
	AUTOFIX	AUTONUM
B	BACKUP	BEEP
	BREAK	BROWSE
C	CASCADE	CHDIR
	CHDRV	CHKDSK
	CHOOSE	CLEAR
	CLOSE	CLOSEWINDOW
	CLS	CODELOCK
	*(COMMENT)	COMMENT ON
	COMMIT	COMPUTE
	CONNECT	CONTINUE
	COPY	CREATE INDEX
	CREATE SCHEMA	CREATE TABLE
	CREATE VIEW	CROSSTAB
D	DEBUG	DECLARE CURSOR
	DELETE	DELETE DUPLICATES
	DETACH	DIALOG
	DIR	DISCONNECT
	DISPLAY	DROP
E	EDIT	EDIT USING
	ENTER	ERASE
	EXIT	EXPRESS
F	FETCH	FILLIN
	FLUSH	FORMS
G	GATEWAY	GOTO
	GRANT
H	HELP
I	IF... ENDIF	INSERT
	INTERSECT
J	JOIN
L	LABEL	LBLPRINT
	LIST	LIST ACCESS
	LOAD
M	MAXIMIZE	MINIMIZE
N	NEWPAGE	NEWROW
	NEXTROW	NEXTTAB
	NORMALIZE
O	OPEN	ORDER BY
	OUTPUT
P	PACK	PAUSE
	PLAYBACK	PREVROW
	PREVTAB	PRINT
	PRNSETUP	PROJECT
Q	QUERY	QUIT
R	RBDEFINE	RBEDIT
	RBLABELS	RBSYNC
	RECALC	RECORD
	RECOVER	RELOAD
	RENAME	REPORTS
	RESTORE	RETURN
	REVOKE	RMDIR
	ROLLBACK	RULES
	RUN
S	SATTACH	SAVEROW
	SCONNECT	SCREEN RESTORE
	SDETACH	SDISCONNECT
	SELECT	SET
	SET USER	SET VARIABLE
	SETFOCUS	SHOW
	SHOW ERROR	SHOW VARIABLE
	SKIP	SNAP
	SSQL	SUBTRACT
	SWITCH... ENDSW
T	TALLY	TILE
	TRACE	TYPE
U	UNION	UNLOAD
	UPDATE	UPGRADE
W	WHENEVER	WHERE
	WHILE... ENDWHILE	WRITE
Z	ZIP


Menu Commands
Menus

	Calculate	Edit	Express
	File	Format	Go To
	Help	Layout	Object
	Query	Sort	Tools
	Utilities	Variables	Window
Pop-Up Menus

Application Designer

Form, Report, & Label Designers

QBE Window


How to work with...

Databases

The Data Browser

Queries and Views

Forms

Reports

Labels

Applications

Foreign Data Sources


 Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Protecting a Database

Managing Databases

Backing up and Restoring Databases

Compressing Databases


Working with Databases

Building and Modifying a Database

Creating a database

Opening a database

Closing a database

Adding a table to a database

Renaming a table

Deleting a table

Renaming a column

Changing a column's data type

Adding a column to a table

Deleting a column

Renumbering a column

Using Constraints, Rules, and Indexes

Protecting a Database

Managing a Database

Backing up and Restoring Databases

Compressing Databases


Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Applying a constraint to a column

Removing a constraint

Applying a rule to a column

Modifying a rule

Deleting a rule

Setting rules on or off

Applying an index to a column

Protecting a Database

Managing a Database

Backing up and Restoring Databases

Compressing Databases


Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Protecting a Database

Assigning an owner identifier

Assigning access rights

Setting a password

Specifying your identifier

Removing access rights

Listing access rights

Managing a Database

Backing up and Restoring Databases

Compressing Databases


Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Protecting a Database

Managing a Database

Copying a database under a new name

Renaming a database

Deleting a database

Backing up and Restoring Databases

Compressing Databases


Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Protecting a Database

Managing a Database

Backing up and Restoring Databases

Backing up a database to floppy disks using the menu command

Restoring a database using the menu command

Compressing Databases


Working with Databases

Building and Modifying a Database

Using Constraints, Rules, and Indexes

Protecting a Database

Managing a Database

Backing up and Restoring Databases

Compressing Databases

Compressing a database using the Pack In Place option

Compressing a database using the Pack To option

Compressing a database in a multi-user environment

Turning the "Multi-User" setting on


Working with the Data Browser

Viewing Tables

Changing how Data is Displayed

Editing Data

Calculating Values

Printing Data


Working with the Data Browser

Viewing Tables

View a table

Changing between single- and multiple-row display

Changing how Data is Displayed

Editing Data

Calculating Values

Printing Data


Working with the Data Browser

Viewing Tables

Changing how Data is Displayed

Sorting data by one column

Sorting data by multiple columns

Reverting to the original sorting order

Moving a column

Moving a column to the end of the table

Hiding a column

Showing a column

Locking a column

Unlocking a column

Changing the font

Changing a column's color

Changing a column's width

Changing the row height

Hiding duplicate rows

Redisplaying duplicate rows

Finding a value

Changing the "Layout" setting

Editing Data

Calculating Values

Printing Data


Working with the Data Browser

Viewing Tables

Changing how Data is Displayed

Editing Data

Modifying data in a cell

Deleting a value in a cell

Cutting values

Copying values

Pasting values

Inserting values into the #browdata variable

Adding a row to a table

Deleting a row from a table

Replacing all values in a column

Calculating Values

Printing Data


Working with the Data Browser

Viewing Tables

Changing how Data is Displayed

Editing Data

Calculating Values

Computing values in a column

Counting the number of occurrences of a unique value in a column

Grouping specified columns

Performing a crosstab calculation

Printing Data


Working with the Data Browser

Viewing Tables

Changing how Data is Displayed

Editing Data

Calculating Values

Printing Data

Printing the contents of the Data Browser

Changing the "Width" setting


Working with Queries and Views

Creating Queries

Saving Tables, Views, and Queries

Working with Views


Working with Queries and Views

Creating Queries

Selecting tables for a query

Selecting the columns for a query

Using an expression in a query

Specifying a column alias

Specifying the conditions of the query

Specifying the order to sort data

Changing the method of linking tables

Running the query

Saving Tables, Views, and Queries

Working with Views


Working with Queries and Views

Creating Queries

Saving Tables, Views, and Queries

Saving the result as a table

Saving the result as a view

Working with Views


Working with Queries and Views

Creating Queries

Saving Tables, Views, and Queries

Working with Views

Looking at a view's query conditions

Saving a modified view

Saving a modified view as a new view

Deleting a view

Renaming a view

Copying a view


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Defining a form

Adding a table or view

Removing a table or view

Going to the next page

Going to the previous page

Specifying the target user's resolution

Defining a screen area

Customizing the Form

Working with Objects

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Customizing the Form

Turning the grid on or off

Turning the snap on or off

Specifying the size of the grid

Specifying preferences for all forms

Customizing table settings

Customizing form settings

Working with Objects

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Placing a box or 3D box

Customizing a box

Customizing a 3D box

Drawing a line

Placing a text box

Placing a column object

Placing a variable object

Placing a radio button object

Placing a push button object

Placing a check box object

Placing a combo box object

Placing a region

Defining tiers for a region

Removing tiers

Selecting one object

Selecting multiple objects

Selecting all objects

Deselecting objects

Modifying one object

Applying a font to multiple objects

Applying a color to multiple objects

Moving objects

Placing an object behind another

Resizing objects

Deleting an object

Aligning objects with each other

Resizing objects with each other

Changing the order of column or variable objects

Customizing column or variable object settings

Using a pop-up menu for a field object

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Using Variables

Defining a variable

Displaying a variable on the form

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Using Variables

Using Entry/Exit Procedures

Assigning an EEP to a field object

Assigning an EEP to rows in a table

Saving and Managing Forms

Running the Form


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Saving a form

Closing a form

Opening a form to modify it

Copying a form

Renaming a form

Deleting a form

Running the Form


Working with Forms

Building a Form

Customizing the Form

Working with Objects

Using Variables

Using Entry/Exit Procedures

Saving and Managing Forms

Running the Form

Running a form

Changing the "Autoskip" setting

Setting the level of concurrency control

Changing the "Autorefresh Interval" setting


Working with Reports

Building a Report

Working with Objects

Using Variables

Saving and Managing Reports

Printing a Report


Working with Reports

Building a Report

Defining a report

Adding a section

Deleting a section

Expanding or contracting a section

Defining a breakpoint

Modifying a breakpoint

Working with Objects

Using Variables

Saving and Managing Reports

Printing a Report


Working with Reports

Building a Report

Working with Objects

Placing a box

Customizing a box

Drawing a line

Placing a text box

Placing a column object

Placing a variable object

Selecting one object

Selecting multiple objects

Selecting all objects in one section

Deselecting objects

Modifying one object

Applying a font to multiple objects

Moving objects

Placing an object behind another

Resizing objects

Deleting an object

Aligning objects with each other

Resizing objects with each other

Wrapping a field automatically

Defining a format for null values

Defining a format mask

Using Variables

Saving and Managing Reports

Printing a Report


Working with Reports

Building a Report

Working with Objects

Using Variables

Defining a new variable

Editing a variable

Reordering a variable

Changing a variable's report section

Deleting a variable

Changing the "Zero" setting

Creating a variable from an aggregate function

Saving and Managing Reports

Printing a Report


Working with Reports

Building a Report

Working with Objects

Using Variables

Saving and Managing Reports

Saving a report

Closing a report

Opening a report to modify it

Copying a report

Renaming a report

Deleting a report

Printing a Report


Working with Reports

Building a Report

Working with Objects

Using Variables

Saving and Managing Reports

Printing a Report

Specifying page settings

Printing a report


Working with Labels

Building a Label

Working with Objects

Using Variables

Saving and Managing Labels

Printing Labels


Working with Labels

Building a Label

Defining a label

Specifying the settings for a label

Working with Objects

Using Variables

Saving and Managing Labels

Printing Labels


Working with Labels

Building a Label

Working with Objects

Placing a box

Customizing a box

Drawing a line

Placing a text box

Placing a column object

Placing a variable object

Selecting one object

Selecting multiple objects

Deselecting objects

Modifying one object

Applying a font to multiple objects

Moving objects

Placing an object behind another

Resizing objects

Deleting an object

Aligning objects with each other

Resizing objects with each other

Defining a format for null values

Defining a format mask

Using Variables

Saving and Managing Labels

Printing Labels


Working with Labels

Building a Label

Working with Objects

Using Variables

Defining a new variable

Editing a variable

Reordering a variable

Deleting a variable

Saving and Managing Labels

Printing Labels


Working with Labels

Building a Label

Working with Objects

Using Variables

Saving and Managing Labels

Saving a label

Closing a label

Opening a label to modify it

Copying a label

Renaming a label

Deleting a label

Printing Labels


Working with Labels

Building a Label

Working with Objects

Using Variables

Saving and Managing Labels

Printing Labels

Printing a label


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Starting an application

Adding menus and menu options for pull-down menus

Adding menus and menu options for pop-up menus

Assigning an action to a menu option

Customizing the Application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Changing the application's environment settings

Choosing the color of your application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Saving an application

Closing an application

Deleting an application

Renaming an application

Copying an application

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Running an Application

Running an application

Specifying the "Messages" setting

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Starting the Interactive Debugger

Setting a breakpoint

Deleting all breakpoints

Moving from one break condition to another

Setting a break variable

Clearing a break variable

Clearing all break and watch variables

Setting watch variables

Removing a watch variable

Changing the value of a watch variable

Testing Entry/Exit Procedures

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Testing an EEP

Using CodeLock


Working with Applications

Building an Application

Customizing the Application

Saving and Managing Applications

Running an Application

Using the Interactive Debugger

Testing Entry/Exit Procedures

Using CodeLock

Converting an ASCII command file to a binary command file

Adding an ASCII command file to a procedure file

Adding an ASCII screen file to a procedure file

Adding an ASCII menu file to a procedure file

Converting an ASCII application file to a binary procedure file


Working with Foreign Data Sources

Setting up a foreign data source

Connecting a foreign data source

Disconnecting a foreign data source

Attaching a foreign table

Detaching a foreign table


Buttons
Click on a button for a description of it:

Main Tool Bar

Designer Tool Bar


3D Box

Click this button to place a 3D box.


Application Designer

Click this button to open the Application Designer to create and modify applications.


Arrow

Click this button to leave object placement mode and work with existing objects.


Tables and Views

Click this button to add or remove tables or views from a form.


Box

Click this button to place a box.


Data Browser

Click this button to open the Data Browser to view data in a table or view.


Push Button

Click this button to place a push button on a form.


CodeLock

Click this button to open CodeLock to encode application files.


Check Box

Click this button to place a check box for the on a form.


Combo Box

Click this button to place a combo box on a form.


Column Object

Click this button to place a column object.


Text Editor (RBEdit)

Click this button to edit text, command files, and recorded scripts.


Form Designer

Click this button to open the Form Designer to create and modify forms.


Grid

Click this button to show or hide the grid in the Designer workspace.


Import/Export (Gateway)

Click this button to import and export data.


Help

Click this button to open online Help.


Horizontal Line

Click this button to place a horizontal line.


Label Designer

Click this button to open the Label Designer to create and modify labels.


Object Manager

Click this button to open the Object Manager.


Settings

Click this button to specify settings for the current form, report, or label.


Print

Click this button to send output to the printer, screen, or a file.


Preview

Click this button for a preview of the form to see how it will look when you run it.


Query By Example (QBE)

Click this button to open Query By Example to build a query.


Database Designer (RBDefine)

Click this button to open the Database Designer to create and modify tables.


Radio Button

Click this button to place a radio button on a form.


Region

Click this button to place a region for the current table on a form.


R> Prompt

Click this button to open the R> prompt to enter commands.


Report Designer

Click this button to open the Report Designer to create and modify reports.


Forms Runtime

Click this button to run a form.


Screen Area

Click this button to place a screen area on the form.


Send to Back

Click this button to place the current object under another.


Select All

Click this button to select all objects.


Snap to Grid

Click this button to turn the snap feature on or off.


Text

Click this button to place a text box.


Variable Object

Click this button to place a variable object.


Vertical Line

Click this button to place a vertical line.


Data Types


CHARACTER

Maps to TEXT with a default length of 1.


CHAR

Maps to TEXT with a default length of 1.


CURRENCY

Holds monetary values of up to 23 digits represented in the currency format, established using SET CURRENCY. Dollar amounts are in the range ±$99,999,999,999,999.99. Commas or the current delimiter can be used. If no decimal point is included, .00 is assumed. Data is stored as two long integer values, reserving four bytes of internal storage.


DATE

Holds dates in a 1- to 30-character format based on month, day, and year as established using SET DATE. The minimum and default format to display month, day, and year is MM/DD/YY. The allowable date range is January 1, 3999 BC to December 31, 9999 AD. R:BASE reserves four bytes of internal storage.


DATETIME

A concatenation of the DATE and TIME data types, resulting in a sequence and display format as set by DATE and TIME. DATETIME cannot be SET directly, but does permit extraction of its value by the DATETIME functions into a DATETIME variable. For example:

SET VAR vdatetime = (DATETIME(06/12/93, 12:15:30.123)), results in vdatetime = '06/12/93 12:15:30.123'.

For identification purposes, DATETIME values are automatically stamped into R:BASE databases, also known as the timestamp. DATETIME occupies 8 bytes of internal storage.


DEC

Maps to NUMERIC.


DECIMAL

Maps to NUMERIC.


DOUBLE

Holds double-precision real numbers in the range ±1E308 with a precision of up to 15 digits. DOUBLE numbers longer than 15 digits are stored as scientific notation. R:BASE reserves eight bytes of internal storage. Because DOUBLE numbers are stored in a binary form, the displayed value may not be the stored value. Calculations are performed on the stored values. Among numeric data types, DOUBLE provides the greatest range of values.


FLOAT

Maps to DOUBLE. You can specify the precision, but R:BASE ignores this value.


INTEGER

Holds whole numbers in the range of ±1,999,999,999. Delimiters (such as commas) cannot be used in entry. R:BASE reserves four bytes of internal storage space.


INT

Maps to INTEGER.


NOTE

Holds variable length text of up to 4,092 characters. NOTE data type columns cannot be used in an expression. The actual length of each NOTE entry is determined by the data contained in the column; you do not set a length. R:BASE reserves a minimum of four bytes of internal storage space.


NUMERIC

Holds decimal numbers whose precision and scale can be set. When specifying NUMERIC, specify a precision (the total number of digits) from 1 to 15 (default 9) and a scale (the number of decimal places) from zero to any positive integer up to the precision value (default 0). R:BASE reserves a minimum of eight bytes of internal storage. NUMERIC numbers are stored as DOUBLE.


REAL

Holds real number amounts in the range of ±10E38 with six-digit accuracy. Real numbers with up to six digits are displayed as decimal numbers; for example, 321.414. Real numbers with more than six digits are represented in scientific notation; for example, 9.8E32. R:BASE reserves four bytes of internal storage space. REAL numbers are stored in a binary form; therefore, the displayed value may not be the actual stored value. Calculations are performed on the stored values.


SMALLINT

Maps to INTEGER.


TEXT

Holds alphanumeric data. The default length is eight characters; the maximum is 1,500 characters. Unlike NOTE columns, you set the maximum length of a TEXT column. R:BASE reserves a minimum of four bytes of internal storage space.


TIME

Holds time values in a 1- to 20-character format based on hours, minutes, and seconds, established using SET TIME. The minimum format to display hours, minutes, and seconds is HH:MM:SS. TIME can be specified of up to thousandths of a second. Time can be displayed or entered as a 12- or 24-hour clock. R:BASE reserves four bytes of internal storage.


VARBINARY

Maps to VARBIT.


VARCHAR

Holds alphanumeric data; you must set the maximum length. If you set the maximum length to a value over 32,767 characters, the limit is ignored and defaults to 256 MB.


BIT

Holds binary data. The default length is 1 bit. The fixed length is 1 to 1,500 bytes.


BITNOTE

Holds binary data. No length is needed. The variable length is 0 to 4,088 bytes of binary data.


VARBIT

Holds binary data. You must set the maximum length in bits; if you set the maximum length to a value over 262,136 (32,767 bytes), the limit is ignored and defaults to 8*256 MB.


CHAR VARYING

Maps to VARCHAR; length is required.


BIT VARYING

Maps to VARBIT; length is required.


LONG VARCHAR

Same as VARCHAR, with a length of 256 MB.


LONG VARBIT

Same as VARBIT, but with a length of 8*256 MB.


LONG VARBINARY

Maps to LONG VARBIT.


BINARY

Maps to BIT.


Functions


 ABS

(ABS(arg))

Returns the absolute or positive value of arg (a value with a DOUBLE, REAL, NUMERIC, or INTEGER data type).

In the following example, the value of vabs is 2.

SET VAR vnum = -2

SET VAR vabs = (ABS(.vnum))


 ACOS

(ACOS(arg))

Computes the arccosine of arg where arg is in the range -1 to 1. The result is an angle in radians between 0 and pi (where pi =  3.14159265358979).

In the following example, the value of vacos is 2.094395, the arccosine of -0.5.

SET VAR vacos = (ACOS(-0.5))


 AINT

(AINT(arg))

Truncates the decimal fraction, returning a whole number in the original REAL, NUMERIC, or DOUBLE data type.

In the following example, the value of vaint is 1.

SET VAR vaint = (AINT(1.8))


 ANINT

(ANINT(arg))

Rounds the decimal fraction to the nearest integer, returning a whole number in the original REAL, NUMERIC, or DOUBLE data type.

In the following example, the value of vanint1 is 3.0 and the value of vanint2 is 4.0.

SET VAR vanint1 = (ANINT(2.6))

SET VAR vanint2 = (ANINT(4.45))


 ASIN

(ASIN(arg))

Computes the arcsine of arg where arg is in the range -1 to 1. The result is an angle in radians between -pi/2 and pi/2.

In the following example, the value of vasin is -0.5236 (-pi/6 radians)

SET VAR vasin = (ASIN(-0.5))


 ATAN

(ATAN(arg))

Computes the arctangent of arg in radians where arg is any amount. The result is an angle in radians between -pi/2 and pi/2.

In the following example, the value of vatan is 0.7854 (pi/4 radians).

SET VAR vatan = (ATAN(1))


 ATAN2

(ATAN2(x,y))

Computes the arctangent of x/y. The result is the angle in radians between -pi/2 and pi/2.

In the following example, the value of vatan2 is 0.7854.

SET VAR vatan2 = (ATAN2(1,1))


 CHAR

(CHAR(integer))

Converts an ASCII integer value to its corresponding character. This is not the same as the CHAR data type.

In the following example, the value of vchar1 is A and the value of vchar2 is a.

SET VAR vchar1 = (CHAR(65))

SET VAR vchar2 = (CHAR(97))


 CHKKEY

(CHKKEY(0))

Returns an integer value of 1 if there are keystrokes available in the type-ahead buffer. Returns 0 if no keystrokes are available. Use CHKKEY before GETKEY to determine if a key is available. CHKKEY does nothing with the zero that you enter in parentheses; CHKKEY returns a value without receiving one.


 COS

(COS(angle))

Returns the trigonometric cosine of angle. The result is between -1 and 1.

In the following example, the value of vcos is 0.5002.

SET VAR vcos = (COS(1.047))


 COSH

(COSH(angle))

Returns the hyperbolic cosine of angle.

In the following example, the value of vcosh is 1.6000.

SET VAR vcosh = (COSH(1.047))


 CTR

(CTR(text,width))

Centers text in width characters, returning a text string.

In the following example, the value of vctr is    ABCD    . The text string is centered in a 10-character field.

SET VAR vctr = (CTR('ABCD',10))


 CTXT

(CTXT(arg))

Converts an internal value, returning a text string.

In the following example, the value of vctxt1 is the value 37.5 and is a REAL data type. The value of vctxt2 is the value 37.5 and is a TEXT data type. If you attempt to use this value in a mathematical function, it will fail. SET VAR vctxt1 REAL = 37.5

SET VAR vctxt2 = (CTXT(.vctxt1))


 CVAL

(CVAL ('setkeyword'))

Returns the current value or setting of 'setkeyword'. You must either enclose the SET keyword in quotation marks or use a dot variable that has a TEXT data type to which you have assigned the SET keyword. You can use all SET keywords with CVAL, as well as DATABASE and DBPATH.

In the following example, the value of vcval is OFF if the value of MULTI is set to off.

SET VAR vcval = (CVAL('MULTI'))

In the following example, the user keyword is loaded into a variable and then the variable is used in the CVAL function. It returns the current user identifier.

SET VAR vword text = 'USER'

SET VAR vuser = (CVAL(.vword))

For more information about SET keywords, see SET.


 DATETIME

(DATETIME(date,time))

Concatenates date and time variables or constants.

The following expression concatenates the #DATE and #TIME values into a variable (vdatetime) that has a DATETIME data type.

SET VAR vdatetime=(DATETIME(.#DATE,.#TIME))


 DEXTRACT

(DEXTRACT(datetime))

Returns the date portion of a value that has a DATETIME data type.

In the following example, the value of vdextract is 06/12/93.

SET VAR vdextract = (DEXTRACT('06/12/93 12:15:30.123'))


 DIM

(DIM(arg1,arg2))

Returns the positive difference between arg1 and arg2. Arg1 must be a value with a DOUBLE, REAL, NUMERIC, or INTEGER data type. Arg2 must be any value with a DOUBLE, REAL, NUMERIC, or INTEGER data type other than 0. The result is always positive or zero. If the result is less than or equal to zero, DIM returns 0.

In the following example, the value of vdim1 is 0; vdim2 is 2; vdim3 is 2; vdim4 is 0.

SET VAR vdim1 = (DIM(2,4))

SET VAR vdim2 = (DIM(4,2))

SET VAR vdim3 = (DIM(-2,-4))

SET VAR vdim4 = (DIM(-4,-2))


 ENVVAL

(ENVVAL('environmentvar'))

Returns the current value of the specified DOS environment variable. You must either enclose the name of the environment variable in quotation marks or use a text variable to which you have assigned the environment variable.

First, assume you have the command below in your AUTOEXEC.BAT file.

SET workstat=10

Now, in R:BASE, you can use ENVVAL to find the value of that environment variable, as shown in the example below. The value of vworkstat will be the text value 10.

SET VAR vworkstat = (ENVVAL('workstat'))


 EXP

(EXP(arg))

Raises e to the arg power (where e = 2.71828182845905 and arg is any value with a DOUBLE, REAL, NUMERIC, or INTEGER data type). By raising e to an exponent, EXP performs the inverse operation of LOG.

In the following example, the value of vexp is 2.71828182845905.

SET VAR vexp = (EXP(1))


 FLOAT

(FLOAT(arg))

Converts a number with a TEXT, INTEGER, or CURRENCY data type to a value with a REAL or DOUBLE data type. This is not the same as the FLOAT data type.

In the following example, the value of vfloat1 is 2., a number that has a REAL data type, and the value of vfloat2 is also 2., a number that has a DOUBLE data type. If a variable is not assigned a data type, it becomes DOUBLE.

SET VAR vfloat1 REAL = (FLOAT(2))

SET VAR vfloat2 = (FLOAT(2))


 FORMAT

(FORMAT (value,'picture-format'))

Prints picture formats to a variable, rather than only to the screen. You can use FORMAT anywhere that you can use a function. The result of the FORMAT function is always text.

In the syntax for this function, value is the value you want to be displayed in a particular format; it can be a column, variable, or a constant value. 'Picture-format' is the picture format you establish.

The FORMAT function can be useful in several ways:

  Aligning decimals

  Punctuating long numbers

  Formatting currency

  Formatting text

The characters you can use to format your data are listed below.

	For all data
	<	Data is left justified.
	>	Data is right justified.
	^	Data is centered.
	For numbers
	-	Places a minus sign to the right of a negative number.
	DB	Places DB to the right of a negative number.
	( )	Encloses a negative number in parentheses.
	CR	Places CR to the right of a positive number.
	9	Fills unused space with blanks.
	0	Fills unused space with zeros.
	*	Fills unused space with asterisks.
	For text
	_	Letters are uppercase; other characters are blank.
	|	Letters are lowercase; other characters are blank.
	%	Letters are uppercase; other characters are unchanged.
	?	Letters are lowercase; other characters are unchanged.


 FORMAT: Aligning Decimals

The following example shows how you can use the FORMAT function to align decimal points in a column:

SELECT (FORMAT(bonuspct,'99.000')) FROM salesbonus

The following example shows the effect of the FORMAT function on the above SELECT statement:

	Using FORMAT	Without FORMAT
		0.003		0.003
		0.002		0.002
		0.000		0
		0.001		0.001


 FORMAT: Punctuating Long Numbers

The following example shows how you can use the FORMAT function to include a comma after the thousand's place:

SELECT (FORMAT(transid,'999,999')) FROM transmaster

The following shows the effect of the FORMAT function on the above SELECT statement:

	Using FORMAT	Without FORMAT
		104		104
		2,002		2002
		39,765		39765


 FORMAT: Formatting Currency

The following example shows how you can use the FORMAT function to only display whole dollars:

SELECT (FORMAT(netamount,'[>]$999,999')) FROM salesbonus

This SELECT statement displays data as right justified whole dollars, as shown below:

	Using FORMAT		Without FORMAT
	$176,000		$176,000.00
	$87,500		$87,500.00


 FORMAT: Formatting Text

You must include a format character for each text character. The following example shows how you can use the FORMAT function to display text in uppercase:

SELECT (FORMAT(empfname,'________')) FROM employee

	Using FORMAT	Without FORMAT
	JUNE	June
	ERNEST	Ernest
	PETER	Peter


 FV1

(FV1(pmt,int,per))

Returns the future value of a series of equal payments of the amount, pmt, periodic interest rate, int, and compounding periods, per.

In the following example, FV1 returns the ending balance in your savings account if you deposit $300 each month for four years with an annual interest rate of 6.25%. The value of vfv1 (the balance) is $16,311.90.

SET VAR vfv1 = (FV1(300,(.0625/12),(4 *12)))


 FV2

(FV2(pv,int,per))

Returns the future value of an amount, pv, invested at a periodic interest rate, int, for compounding periods, per.

In the following example, FV2 returns your ending balance for a savings account where you have deposited $1,800 with an annual interest rate of 5.5% compounded monthly (simple interest divided by compounding periods) for seven years (12 periods times seven years). The value of vfv2 (the balance) is $2,642.98.

SET VAR vfv2 = (FV2(1800,(.055/12),(7 *12)))


 GETKEY

(GETKEY(0))

Gets the text value, in brackets, of the first key available in the type-ahead buffer. If a key is not available, GETKEY waits for the next keystroke. Since R:BASE normally checks the buffer for the [Ctrl] + [Break] keys, you must set ESCAPE to off for GETKEY to work properly. Use CHKKEY before GETKEY to determine if a key is available. GETKEY does nothing with the zero that you enter in parentheses; GETKEY returns a value without receiving one.

If you are executing a process that takes several minutes to complete, you can use the CHKKEY and GETKEY functions to tell R:BASE what to do next, even while the process is executing.


 ICAP1

(ICAP1(arg))

Converts arg to a string with an initial capital letter on the first word.

In the following example, the value of vicap1 is Mary.

SET VAR vicap1 = (ICAP1('mary'))


 ICAP2

(ICAP2(arg))

Converts arg to a string with an initial capital letter on each word.

In the following example, the value of vicap2 is John Smith.

SET VAR vicap2 = (ICAP2('john smith'))


 ICHAR

(ICHAR(arg))

Converts a single character, returning its corresponding ASCII integer value.

In the following example, the integer value of vichar is 65.

SET VAR vichar = (ICHAR('A'))


 IDAY

(IDAY(arg))

Where arg is a value that has either a DATE or DATETIME data type, IDAY returns the integer day of the month for a particular date.

In the following example, the value of viday is 12.

SET VAR viday = (IDAY('06/12/93'))


 IDWK

(IDWK(arg))

Where arg is a value that has either a DATE or DATETIME data type, IDWK returns the day of the week where Monday is 1.

In the following example, the value of vidwk is 3.

SET VAR vidwk = (IDWK('06/16/93'))


 IFEQ

(IFEQ(arg1,arg2,arg3,arg4))

If arg1 and arg2 are equal, IFEQ returns the value of arg3. If arg1 and arg2 are not equal, IFEQ returns the value of arg4. The data types of arg1 and arg2 must match and the data types of arg3 and arg4 must match.

The following command changes the value of the thiscol column to 100 if the values of the variables vaval and vbval are equal. If vaval and vbval are not equal, the value of thiscol becomes 200 in rows where thiscol is greater than or equal to 100.

UPDATE thistab SET thiscol=(IFEQ(.vaval, .vbval, 100, 200))+

WHERE thiscol >= 100


 IFGT

(IFGT(arg1,arg2,arg3,arg4))

If arg1 is greater than arg2, IFGT returns the value of arg3. If arg1 is less than arg2, IFGT returns the value of arg4. The data types of arg1 and arg2 must match and the data types of arg3 and arg4 must match.

In the following example, the value of vifgt is 4, because the date 1/1/96 is greater than the date 1/1/95.

SET VAR vifgt = (IFGT('1/1/96','1/1/95',4,5))


 IFLT

(IFLT(arg1,arg2,arg3,arg4))

If arg1 is less than arg2, IFLT returns the value of arg3. If arg1 is greater than arg2, IFLT returns the value of arg4. The data types of arg1 and arg2 must match and the data types of arg3 and arg4 must match.

In the following example, the value of viflt is 4, since A is less than B.

SET VAR A = 37

SET VAR B = 48

SET VAR viflt = (IFLT(.A,.B,4,5))


 IFRC

(IFRC(arg))

Where arg is a value that has either a TIME or DATETIME data type, IFRC returns the current thousandth of a second. For this function to work correctly, the TIME format must be set to include thousandths of a second.

In the following example, the value of vifrc is 123.

SET TIME FOR HH:MM:SS.SSS

SET VAR vifrc = (IFRC('12:15:30.123'))


 IHR

(IHR(arg))

Returns the integer hour of time, where arg is a value that has a TIME or DATETIME data type.

In the following example, the value of vihr is 12.

SET VAR vihr = (IHR(12:15:30))


 IMIN

(IMIN(arg))

Returns the integer minutes of time, where arg is a value that has a TIME or DATETIME data type.

In the following example, the value of vmin is 15.

SET VAR vmin TO (IMIN(12:15:30))


 IMON

(IMON(arg))

Returns the integer month for a particular date, where arg is a value that has a DATE or DATETIME data type.

In the following example, the value of vimon is 5.

SET VAR vimon = (IMON('05/20/95'))


 INT

(INT(arg))

Truncates a number that has a TEXT, REAL, DOUBLE, or CURRENCY data type, returning a value that has an INTEGER data type.

In the following example, the value of vint is 1.

SET VAR vint = (INT(1.6))


 ISEC

(ISEC(arg))

Returns the integer seconds of time, where arg is a value that has a TIME or DATETIME data type.

In the following example, the value of visec is 30.

SET VAR visec = (ISEC(12:15:30))


 ISTAT

(ISTAT('keyword'))

Returns mouse and cursor screen coordinates, and feedback regarding database activity.

By using the following parameters, you can determine database activity, and the current mouse and cursor column or row coordinates:

	CURSORCOL	Returns the column where the cursor is.
	CURSORROW	Returns the row where the cursor is.
	DBSIZE	Returns the size of the currently open database (total of the four database files). If no database is connected, ISTAT returns 0.
	DISKSPACE	Returns the amount of free disk space on the current drive.
	MAXFREE	Does not apply to R:BASE for Windows.
	MEMORY	Does not apply to R:BASE for Windows.
	MOUSECOL	Returns the column where the mouse pointer is.
	MOUSEROW	Returns the row where the mouse pointer is.
	PAGEROW	Returns the row location of the cursor on a virtual page when you are using the SET PAGEMODE command. PAGEROW can only be used with the SHOW VARIABLE command; it does not work with the WRITE command.
	TOTALALLOC	Does not apply to R:BASE for Windows.
	TOTALFREE	Does not apply to R:BASE for Windows.
	TOTALLOCKS	Total locks for tables, rows, and indexes.
	TOTALREADS	Total disk reads--returns the number of reads since R:BASE began or the number of reads since the statement was executed.
	TOTALWRITES	Returns the total disk writes.
To reset the counter for TOTALREADS, TOTALWRITES, and TOTALLOCKS, use the SET VARIABLE command with the ISTAT function.

Note: Since the ISTAT function can operate if only a part of a parameter is matched, you should not abbreviate the ISTAT keywords. ISTAT returns column coordinates for an abbreviation of "MOUSE" and "CURSOR"; for example, (ISTAT('mouse')) returns the mouse column because "COL" is matched before "ROW."


 IYR

(IYR(arg))

Where arg is a value that has a DATE or DATETIME data type, IYR returns a two- or four-digit integer year of date, depending on how the DATE format is set.

In the following example, the value of viyr is 1995 if the year in the DATE format is set to YYYY. The value of viyr is 95 if the year in the DATE format is set to YY.

SET VAR viyr = (IYR('09/13/95'))


 JDATE

(JDATE(arg))

Where arg is a value that has a DATE or DATETIME data type, JDATE returns the Julian date of the date in the form YYDDD (1900-1999 only).

In the following example, the value of vjdate is 95173. The year is 95, and 173 means that the date is the 173rd day of 1995.

SET VAR vjdate = (JDATE('06/22/95'))


 LASTKEY

(LASTKEY(arg))

Where arg is 0 or 1. When arg is 1, LASTKEY returns the original mapping for a key that has been remapped (the key that was pressed). When arg is 0, LASTKEY returns the current mapping (the key that was executed).

In the following example, FILLIN displays the message and the current date, which the user can edit. LASTKEY captures the last key pressed by the user, enabling the user to press [Esc] to avoid entering a date.

SET VARIABLE vdate TEXT

SET VARIABLE vdate = (CTXT(.#DATE))

FILLIN vdate USING 'Enter the invoice date to print: ' EDIT

SET VARIABLE vlast = (LASTKEY(0))

IF vlast = '[Esc]' THEN

GOTO skipprnt

ENDIF


 LAVG

(LAVG(list))

Returns the average of the values in list. Values in a list can be a CURRENCY, DOUBLE, REAL, INTEGER, NUMERIC, DATE, or TIME data type. The function LAVG is not the same as the function AVG, which is used only with the SELECT command.

In the following example, the value of vlavg is 5. The total of the list is 20, which is divided by 4, the number of values in the list.

SET VAR vlavg = (LAVG(2,4,6,8))


 LJS

(LJS(text,width))

Left justifies text in width characters, returning a text string.

In the following example, the value of vljs is ABCD. The text string is left justified in the field. In this case, trailing blanks are removed.

SET VAR vljs = (LJS('ABCD',10))

The value of vljs2 in the following example is COLUMN ONE          COLUMN TWO. You can use LJS to embed spaces and concatenate strings, for example, to create a row of column headings for a screen or variable form. When you concatenate strings before assigning the result to a variable, as in this example, trailing blanks are retained. These spaces are preserved even if the first value is null.

SET VAR vljs2 = (LJS('COLUMN ONE',20) + 'COLUMN TWO')

The following example returns                     COLUMN TWO if vcolname is null.

SET VAR vcol2 TEXT = 'COLUMN TWO'

SET VAR vljs3 TEXT = (LJS(.vcolname,20) + .vcol2))


 LMAX

(LMAX(list))

Returns the maximum value in list. Values in a list can be a CURRENCY, DOUBLE, REAL, INTEGER, NUMERIC, DATE, or TIME data type. The function LMAX is not the same as the function MAX, which is used only with the SELECT command.

In the following example, the value of vlmax is 80, the highest number in the list.

SET VAR vlmax = (LMAX(2,80,14,22))


 LMIN

(LMIN(list))

Returns the minimum value in list. Values in a list can be a CURRENCY, DOUBLE, REAL, INTEGER, NUMERIC, DATE, or TIME data type. The function LMIN is not the same as the function MIN, which is used only with the SELECT command.

In the following example, the value of vlmin is 2, the lowest number in the list.

SET VAR vlmin = (LMIN(2,80,14,22))


 LOG

(LOG(arg))

Returns log base e of arg (where e = 2.71828182845905). Arg must be a positive value and have a DOUBLE, REAL, NUMERIC, or INTEGER data type. LOG performs the inverse operation of EXP.

In the following example, the value of vlog is 0.6931.

SET VAR vlog = (LOG(2))


 LOG10

(LOG10(arg))

Returns log base 10 of arg. Arg must be a positive value and have a DOUBLE, REAL, NUMERIC, or INTEGER data type.

In the following example, the value of vlog2 is 2.

SET VAR vlog2 = (LOG10(100))


 LUC

(LUC(arg))

Converts arg from lowercase to uppercase, returning a text string.

In the following example, the value of vluc is an uppercase A.

SET VAR vluc = (LUC('a'))


 MOD

(MOD(arg1,arg2))

Computes a modulus or remainder of arg1 divided by arg2. Arg1 and arg2 must be values that have DOUBLE, REAL, NUMERIC, or INTEGER data types and arg2 cannot be 0.

In the following example, the value of vmod is 1, the remainder when 3 is divided by 2.

SET VAR vmod = (MOD(3,2))


 NINT

(NINT(arg))

Rounds a number that has a TEXT, REAL, DOUBLE, NUMERIC, or CURRENCY data type to the nearest integer, returning a value that has an INTEGER data type.

In the following example, the value of vnint1 is 3 and the value of vnint2 is 4.

SET VAR vnint1 = (NINT(2.6))

SET VAR vnint2 = (NINT(4.4))


 PMT1

(PMT1(int,per,pv))

Returns the amount of the periodic payment needed to pay off the present value, pv, based on the periodic interest rate, int, for the number of compounding periods, per.

In the following example, PMT1 returns the monthly payment amount for a loan of $12,000 with a 12% annual interest rate and five years to pay it off. The value of vpmt1 (the monthly payment) is $266.93.

SET VAR vpmt1 = (PMT1(.01,60,12000))


 PMT2

(PMT2(int,per,fv))

Returns the amount of the periodic payment to accrue the future value, fv, based on the periodic interest rate, int, for the number of compounding periods, per.

In the following example, PMT2 returns the monthly payment you must make if you want to have $25,000 in 10 years and your annual interest rate is 7%, compounded monthly. The value of vpmt2 (the payment) is $144.44.

SET VAR vpmt2 = (PMT2((.07/12),120,25000))


 PV1

(PV1(pmt,int,per))

Returns the present value of a series of equal payments of the amount, pmt, periodic interest rate, int, and compounding periods, per.

In the following example, PV1 returns the present value of an annuity with an annual interest rate of 9% and for which you want to pay $500 each month for 20 years. The value of vpv1 (the present value) is $55,572.48.

SET VAR vpv1 = (PV1(500,.0075,240))


 PV2

(PV2(fv,int,per))

Returns the present value based on the future value, fv, interest rate, int, and the number of compounding periods, per.

In the following example, PV2 returns the amount you must invest for a period of one year to return a future value of $3,500 where the annual rate is 7.5% (compounded daily). The value of vpv2 (the amount to invest) is $3,247.13.

SET VAR vpv2 = (PV2(3500,(.075/365),365))


 RATE1

(RATE1(fv,pv,per))

Returns the periodic interest rate required to return the future value, fv, based on the present value, pv, over the number of compounding periods, per.

In the following example, RATE1 returns the interest rate you must have if your initial investment is $8,500 and you want a future yield of $10,000 after 24 months. The value of vrate1 (the interest rate) is .0068, a monthly rate of .68 percent, or 8.16% annually.

SET VAR vrate1 = (RATE1(10000,8500,24))


 RATE2

(RATE2(fv,pmt,per))

Returns the periodic interest rate on a series of regular payments, pmt, whose future value is fv over the number of compounding periods, per.

In the following example, RATE2 returns the interest rate you must have if your goal is $37,000 and you deposit $500 each month for five years. The value of vrate2 is .0069, a monthly rate of .69 percent, or 8.28% annually.

SET VAR vrate2 = (RATE2(37000,500,60))


 RATE3

(RATE3(pv,pmt,per))

Returns the periodic interest rate required for an annuity of value pv, to return a series of equal payments, pmt, over a number of compounding periods, per.

In the following example, RATE3 returns the interest rate of an annuity, purchased at $50,000, which will pay $570 monthly for 10 years. The value of vrate3 is .0055, a monthly rate of .55 percent, or 6.6% annually.

SET VAR vrate3 = (RATE3(50000,570,120))


 RDATE

(RDATE(mon,day,yr))

Converts integers mon, day, and yr to a DATE data type. Yr must be a four-digit year. The result returned by RDATE will vary, depending on the DATE format.

The following command assigns to the transdate column in the transmaster table the date derived from the values of vmon and vday (integers) as the month and day, and 1995 as the year in rows where the transdate column has a value.

UPDATE transmaster SET transdate = (RDATE(.vmon, .vday, 1995)) +

WHERE transdate IS NOT NULL


 RJS

(RJS(text,width))

Right justifies text in width characters returning a text string.

In the following example, the value of vrjs is       ABCD. The text string is right justified in a 10-character field.

SET VAR vrjs = (RJS('ABCD',10))


 RTIME

(RTIME(hrs,min,sec,frc))

Converts integers hrs, min, sec, and frc to a TIME data type. Hrs is on a 24-hour scale. RTIME can be specified for up to thousandths of a second. The frc argument is optional.

In the following example, the value of vrtime is 12:15:30, stored in internal R:BASE time format. The time value will be displayed according to how you have set the TIME format. When you use time data in expressions, the result is given in seconds. You can use RTIME to convert this result to hours, minutes, and seconds. The value of velapsed1 is 1170 seconds; the value of velapsed2 is 0:19:30.

SET VAR vrtime = (RTIME(12,15,30))

SET VAR vstart TIME = '1:10:40'

SET VAR vend TIME = '1:30:10'

SET VAR velapsed1 = (.vend - .vstart)

SET VAR velapsed2 = (RTIME(0,0,.velapsed1))


 SFIL

(SFIL(chr,nchar))

Fills a text string with a specified character chr, for nchar characters up to 500. You cannot use a number as a character. Instead, assign the number to a variable that has a TEXT data type using the variable name in SFIL.

In the following example, the value of vsfil is the text string ==========. R:BASE programs often include SFIL to draw lines.

SET VAR vsfil = (SFIL('=',10))


 SGET

(SGET(text,nchar,pos))

Gets nchar characters from text starting at pos, returning a text string.

In the following example, the value of vsget is BCD, the three characters starting in the second position of the text string.

SET VAR vsget = (SGET('ABCDE',3,2))


 SIGN

(SIGN(arg1,arg2))

Transfers the sign of arg2 to arg1. Arg1 and arg2 must be values that have DOUBLE, REAL, NUMERIC, or INTEGER data types.

In the following example, the value of vsign is -15, changing the sign of the first argument to the sign of the second argument.

SET VAR vsign = (SIGN(15,-20))


 SIN

(SIN(angle))

Returns the trigonometric sine of angle.

In the following example, the value of vsin is 0.8659.

SET VAR vsin = (SIN(1.047))


 SINH

(SINH(angle))

Returns the hyperbolic sine of angle.

In the following example, the value of vsinh is 1.2491.

SET VAR vsinh = (SINH(1.047))


 SLEN

(SLEN(text))

Returns the length of text. SLEN is often used to ensure that a string does not exceed the space allowed for it on a form, variable form, or report. When strings are concatenated or passed as parameters to a procedure file, the length of a string might be unknown.

In the following example, the value of vslen is 5, the number of characters in the text string.

SET VAR vslen = (SLEN('ABCDE'))


 SLOC

(SLOC(text,string))

Locates string in text, returning the position if the string is found, 0 if it is not found.

In the following example, the value of vsloc1 is 3.

SET VAR vsloc1 = (SLOC('ABCDE','C'))

The value of vsloc2 in the following example is 0, since the text string X does not exist in the text string ABCDE.

SET VAR vsloc2 = (SLOC('ABCDE','X'))

In the following example, the custzip column contains a customer's zip code, in which the first five characters might be followed by a dash and another four characters. If the first row contained the string 02178-5243, Sloc3 would capture the position of the dash (6), which is in the sixth position.

SET VAR v5zip = custzip IN customer WHERE COUNT = 1

SET VAR sloc3 = (SLOC(.v5zip,'-'))


 SMOVE

(SMOVE(text,pos1,nchar,string,pos2))

From text, starting at position pos1, moves nchar characters to string starting at position pos2.

In the example below, the value of vsmove1 is XBCDX. The characters BCD in the first string are moved into the second through fourth positions in the string XYZXX.

SET VAR vsmove1 = (SMOVE('ABCDE',2,3,'XYZXX',2))

In the following example, the custcity column is 12 characters wide and contains the string ANCHORAGE in the first row. You can use SMOVE to fill in a blank (13 characters in the example above) in order to customize a report title. The value of vfulltitle is ANCHORAGE WAREHOUSE.

SET VAR vcity = custcity IN customer WHERE COUNT = 1

SET VAR vfulltitle = (SMOVE(.vcity,1,12,'             WAREHOUSE',1))


 SPUT

(SPUT(text,string,pos))

Puts string into text, starting at pos, returning a text string.

The value of vsput1 in the following example is AXCDE. The character X is put into the second position in the string ABCDE.

SET VAR vsput1 = (SPUT('ABCDE','X',2))


 SQRT

(SQRT(arg))

Returns square root of arg. Arg must be a positive value with a DOUBLE, REAL, NUMERIC, or INTEGER data type.

In the following example, the value of vsqrt is 10.

SET VAR vsqrt = (SQRT(100))


 SRPL

(SRPL(sourcestring,searchstring,replacestring,[0|1]))

Enables searching for and replacing text within a specified string of text.

sourcestring: Specifies a string of text to search.

searchstring: Specifies text to search for.

replacestring: Specifies the replacement text.

flag: 1--replacement occurs only if the matching string is a separate item of text.

0--every matching string is replaced.

The following example changes Dear Joe with Dear Anne:

SET VAR vsrpl = (SRPL('Dear Joe','Joe','Anne',1))

The following example changes 04/20/64 to 04-20-64:

SET VAR vsrpl = (SRPL('04/20/64','/','-',0))


 SSUB

(SSUB(text,n))

Captures substring number n from text, returning a text string. Substrings in text are separated by a comma (or the current delimiter).

The SSUB function is often used with the CHOOSE command when capturing menu options from a pull-down menu.

In the following example, the value of vssub is yearend.

SET VAR vtext = 'reports,yearend'

SET VAR vssub = (SSUB(.vtext,2))

The following example shows that SSUB separates items based on a blank rather than the current delimiter when n is less than zero.

SET VAR vtext = 'reports yearend'

SET VAR vssub2 = (SSUB(.vtext,-2))

The following example also returns yearend. For this example, assume that twodim is a bar with a pull-down menu with the options Edit and Enter stored as text numbers according to their positions on the menu. The pop-up menu for both options contains a list of form names, so the second item in the CHOOSE variable will be a form name.

CHOOSE vtwodim FROM twodim

SET VARIABLE vbar = (SSUB(.vtwodim,1))

SET VARIABLE vpull = (SSUB(.vtwodim,2))

IF vbar = '1' THEN

EDIT USING .vpull

ELSE

ENTER .vpull

ENDIF


 STRIM

(STRIM(text))

Trims trailing blanks from text, returning a text string.

In the following example, the value of vstrim is the text string ABCDE without the trailing blanks.

SET VAR vstrim = (STRIM('ABCDE   '))


 TAN

(TAN(angle))

Returns the trigonometric tangent of angle.

In the following example, TAN defines a new column newtan for the mytable table. Newtan is a computed column providing the tangent of the angle in radians stored in the oldangle column.

ALTER TABLE mytable ADD newtan = (TAN(oldangle)) DOUBLE


 TANH

(TANH(angle))

Returns the hyperbolic tangent of angle.

In the following example, the value of vtanh is .7616.

SET VAR vtanh = (TANH(1))


 TDWK

(TDWK(arg))

Returns the day of the week as text, where arg is a value that has either a DATE or DATETIME data type.

In the following example, the value of vtdwk is Saturday.

SET VAR vtdwk = (TDWK('12/02/95'))


 TERM1

(TERM1(pv,int,fv))

Returns the number of compounding periods (the term) for a return of future value fv, based on the present value, pv, and the interest rate, int.

In the following example, TERM1 returns the number of months your money must stay invested if you want to accumulate $10,000 on an initial investment of $5,000 at a compounded monthly rate of 1% (12% annually). The value of vterm1 (the term) is 70.

SET VAR vterm1 = (TERM1(5000,.01,10000))


 TERM2

(TERM2(pmt,int,fv))

Returns the number of compounding periods (the term) for a return of future value fv, based on the payment, pmt, and interest rate, int.

In the following example, TERM2 returns the number of years you must make payments if you want to accumulate $75,000 by making annual installments of $2,000 at 8% annual interest. The value of vterm2 (the term) is 18.

SET VAR vterm2 = (TERM2(2000,.08,75000))


 TERM3

(TERM3(pmt,int,pv))

Returns the number of periods (the term) for the present value, pv, to reach 0 based on the payment, pmt, and the interest rate, int.

In the following example, TERM3 returns the number of payments from a $15,000 annuity if the annual interest rate is 12.5% compounded monthly and you would like to receive $300 every month. The value of vterm3 is 71.

SET VAR vterm3 = (TERM3(300,(.125/12),15000))


 TEXTRACT

(TEXTRACT(datetime))

Returns the time portion of DATETIME.

In the following example, the value of vtextract is 12:15:30.123.

SET VAR vtextract = (TEXTRACT('08/09/95 12:15:30.123'))


 TMON

(TMON(arg))

Returns the month name as text where arg is a value that has either a DATE or DATETIME data type.

In the following example, the value of vtmon is November.

SET VAR vtmon = (TMON('11/12/95'))


 ULC

(ULC(text))

Converts text from uppercase to lowercase, returning a text string.

In the following example, the value of vulc is abcde. To ensure that your data is consistent, whether it is imported from outside R:BASE or entered through an R:BASE form, use ULC to convert text fields to lowercase.

SET VAR vulc = (ULC('ABCDE'))


User-Defined Functions;
 User-Defined Functions

(UDF ('exe-name','parameter-list'))

(UDF ('-exe-name','parameter-list'))

(UDF ('+exe-name','parameter-list'))

You can use a user-defined function (UDF) anywhere you can use a function in R:BASE:

   Forms

   Reports

   Entry/exit procedures

   Applications

The arguments for a UDF are as follows:

   +, -, or nothing

If you do not specify a plus or minus, the function is hidden when it runs; this setting is the default. A plus (+) runs the function in a normalized window. A minus (-) runs the function as a minimized icon.

   exe-name

Specifies the name of the UDF (the name of the executable file into which you have compiled and linked your program). This cannot be a Windows program; UDFs can only be DOS or OS/2 programs.

   parameter-list

Specifies a text string that is sent to DOS. Multiple parameters must be separated by spaces, as shown:

                     SET VAR v1=(UDF('random','25 345'))

* If the operating system is DOS, this will be passed as an address. If the operating system is OS/2, this will be passed to a shared-memory segment.

UDFs function as follows: R:BASE passes command line arguments to the UDF.EXE file. The UDF.EXE file completes its calculations and passes the data and the ERRORLEVEL to R:BASE.

Two files, which are provided with R:BASE for Windows, facilitate this process: RBGUDF.EXE and RBGUDF.PIF. With these files present, DOS error variables can successfully be passed to R:BASE for Windows applications for processing.

See also

Limitations and Issues

Memory Issues

ERRORLEVEL

Using UDFs to Return Multiple Values

Differences Between DOS and OS/2 UDFs

Sample UDF


 User-Defined Functions
 Limitations and Issues

The parameter-list, from the UDF syntax, acts exactly as if you typed it at the DOS prompt. DOS limits the size of your parameter-list. You start with 128 characters and subtract the .EXE file name (a maximum of eight characters). Then you must reserve the address (eight characters) or, if you are using OS/2, the shared-memory segment name (22 characters) plus the spaces between the .EXE name, the parameter list, and the address/shared-memory segment name. This leaves approximately 90 characters.

You can write the UDF.EXE file in any language that allows writing to far pointers, such as Microsoft C. OS/2 UDF.EXE files require protected mode libraries.

You can return only 1,500 bytes of text data to R:BASE; that is, when you copy your results to either the address passed in or the shared-memory segment, you must not write more than 1,499 characters plus the NULL terminator (/0). If you write more than 1,500 total characters to the DOS address you will corrupt the R:BASE variables and R:BASE might "hang." In OS/2 you will probably get a protection violation if you try to write more than 1,500 bytes, but R:BASE will be unaffected.

If you forget the NULL terminator (/0) you will probably get high-order ASCII characters in your text variable.

To pass back multiple values, delimit them with commas and then use other R:BASE functions to pull out the values. R:BASE stops looking at the returned text when it first encounters a NULL (/0).

If your DOS UDF.EXE file hangs, so will R:BASE. If your OS/2 .EXE file hangs, you might receive a protection violation from your UDF.EXE, but R:BASE will be unaffected.


 User-Defined Functions
 Memory Issues

The size of a UDF is limited by the amount of available memory. Keep your executable files as small as possible. Depending on where the UDF is run and how much memory R:BASE has available to it at that moment, you could possibly run an executable file as large as 50K. You will  have to experiment to determine the maximum possible memory in a given situation.

You can have different amounts of available memory at different times in an R:BASE session. Because you had an amount of memory available at one point in an R:BASE session does not mean that you will have the same amount of memory available in your next R:BASE session.


 User-Defined Functions
 ERRORLEVEL

If your UDF fails to write to the memory given to it, then the UDF function in R:BASE sets the variable to NULL (-0-). You could use this in your UDF.EXE file to show whether the UDF failed.

UDFs treat error variables the same as R:BASE does; therefore, you can have your application tell you if the UDF was successful or not by using the R:BASE error variable and the compiler's function that allows the return of error variables, such as Microsoft C exit( ) function to return the ERRORLEVEL. R:BASE places the ERRORLEVEL value in the R:BASE error variable.


 User-Defined Functions
 Using UDFs to Return Multiple Values

A UDF can return up to 1,500 characters. You can write a UDF that returns multiple values; then, you can write a command file that interprets coded strings and tells your application what was returned. For example, you could set up the following coded strings:

	Coded String		What was done
	100		Cube root of the input number
	200		Standard deviation of input number
The UDF returns the information below to R:BASE with values for the coded strings 100 and 200 in comma-delimited format:

100,1.23456,200,2.34567

The command file would interpret that 1.23456 is the cube root of the input number, and 2.34567 is the standard deviation of the input number.


 User-Defined Functions
 Differences Between DOS and OS/2 UDFs

The R:BASE UDF function call is the almost the same for both DOS and OS/2. The only difference is in the UDF executable (.EXE) file, the actual program that you write.

For example, the following is a R:BASE command that calls the UDF named random.

SET VAR v1 = (UDF('random', '25 345'))

The following are the command line arguments for the UDF named random for both DOS and OS/2:

	DOS	OS/2
	argv[0] = random	argv[0] = random
	argv[1] = 25	argv[1] = 25
	argv[2] = 345	argv[2] = 345
	argv[3] = A345BD3456	argv[3] = \sharemem\A1435B25.MEM
	argc = 4	argc = 4
The only difference between the DOS and OS/2 command line arguments is argv[3]. For DOS, argv[3] is a textual representation of the address to which the .EXE file can write information (A345BD3456). For OS/2, argv[3] is a shared-memory segment name (\SHAREMEM\A1435B25.MEM).


 User-Defined Functions
 Sample UDF

The following example uses a UDF named dwrd to convert a currency value to words:

SET VAR v1=(UDF('dwrd','$1,456.99'))

If you execute the above command and then enter SHOW VARIABLE at the R> prompt, you see the following output:

This UDF has been included with the program files for both DOS and OS/2: DWRD.C for DOS, and DWRD2.C for OS/2.


Glossary


Glossary
	%	%1-%9
	&	( )
	*	**
	+	+>
	,	_ (underscore)
	;
A

Access Rights

Aggregate Functions

API

APP

Application

Application Designer

Application Express

APW

APX

Arguments

Arithmetic Operators

Ascending Order

ASCII

ASCII Delimited File

ASCII Fixed Field File

AT Clause

AUTOEXEC.BAT

Autonumber Column

Autorefresh

B

Back Up

Backcolor

Backup File

Before Image File

Binary-Encoded File

BLOB

Block

Break Footer

Break Header

Break Variable

Breakpoint

#browdata

Buffer

Byte

C

Case Folding Table

CFG

Character

Character Folding Table

Character Modifier

Check Box

CodeLock

Collating Table

Column

Column Object

Columnar Text File

Combo Box

Command

Command Block

Command File

Command Mode

Command Name

$COMMAND

Comments

Common Column

Comparison Operator

Computed Column

Concurrency Control

Condition

Configuration File

Connecting Operators

Constraint

Continuation Character

Correlation Name

Cursor

Custom Action

D

D

DAT

Data Browser

Data Editor

Data Entry Mask

Data Entry Rule

Data Integrity

Data Source

Data Type

Database

Database Designer

Database Lock

DBMS

#date

DBCONV.EXE

Dbspec

Debugger

Delimiter

Descending Order

Detail Section

Determinate

Device

Dialog Box

Directory

Display Mask

DOS

Dot Variables

Drive

Drive Specification or Designation

Driving Table or View

E

Echo

EEP

Endkey

Entry/Exit Procedure

Environment Settings

Error Messages

Error Variable

Exclusive Lock

Expansion Character Table

Explicit Data Typing

Exponential Operator (**)

Export

Expression

F

Field

File

File Extension

File Handle

Filename

Filespec

Forecolor

Foreign Data Source

Foreign Key

Form

Form Designer

Forms Runtime

Function

Function Keys

G

Global Variable

H

Hashing

I

Implicit Data Typing

Import

Index

Indexed Column

Input Device

Input File

Instruction

Interactive

Interactive Debugger

Interval

K

Key Maps

Keyword

L

Label

Label Designer

LAN

Linking

Linking column

LOB

Local Area Network

Local Lock

Lock

Look-Up Expression

M

Many-to-Many Relationship

Mask

MDX

Memory

Menu

Menu Block

Menu File

$MENU

Messages

MS-DOS

Multi-User Mode

N

NDX

Nesting

NEWDB.EXE

Null

Numeric Data Types

O

Object Manager

ODBC

Online Help

One-to-Many Relationship

One-to-One Relationship

Operand

Operating System

Operating System Commands

Operator

Optimizer

Orphaned Data

OS/2

Output Device

Output File

Owner

Owner Identifier

P

Padding

#page

Page Footer

Page Header

Parameter

Parse

Partial Text Index

Password

Path

PC-DOS

PF

PH

#pi

Picture Format

Plus Sign Prompt (+>)

Pop-Up Menu

Precision

Primary Key

Printer Table

Procedure File

Program

Pull-Down Menu

Push Button

Q

QBE

Query

Query By Example

R

R:BASE

R>

R> Prompt

Radio Button

RB1

RB2

RB3

RB4

RBASE.CFG

RBASE.DAT

RBDefine

RBEdit

RBF

RBS

RBx

Record

Region

Relational Commands

Relational Database

Relational Tools

Remote Lock

Report

Report Designer

Report Footer

Report Header

Report Section

Reserved Words

Restore

#return

RF

RH

RIM

Row

Rule

S

Scale

Schema

Scratch File

Screen Area

Screen Block

Screen File

$SCREEN

Script

Select

Server

Single-User

Size

Snapshot File

Source Table

SQL

sqlcode

Startup File

Status Line

String

String Modifier

Structure

Structured Query Language

Submenu

Syntax

System Tables

System Variable

T

Table

Table Lock

Text File

Tier

#time

Transaction

Truncate

U

Union Operation

Unique Key

User Identifier

V

Value

Variable

Variable Form

Variable Object

View

Virtual Storage

W

Waiting Period

Watch Variable

WHERE Clause

Wildcards

Workstation


DEFINITIONS


%

R:BASE wildcard indicating many characters.


%1-%9

System variables that hold the parameter values passed in the RUN command. The data type is implied from the data passed in the variable.


&

(1) A variable used to concatenate characters in a text string with a space.

(2) Variable concatenation character, which indicates that a variable contains an R:BASE command, column, variable, or a combination that needs to be interpreted by R:BASE when the variable is issued in a command line.


( )

Expression identifiers. Enclose functions in parentheses when you use a full expression or when you embed one expression inside another. Use parentheses in WHERE clauses around conditions you want R:BASE to evaluate before other conditions; otherwise, R:BASE evaluates conditions from left to right.


*

(1) In reports or results from a SELECT command, asterisks indicate a field is too narrow to display a value completely.

(2) Command option requesting that R:BASE use all columns with the command.

(3) In a listing of access rights, an asterisk indicates an access right for which GRANT permission is assigned.


**

Exponential operator. Raises a number to a specified power.


+

Line continuation character.


+>

Indicates that R:BASE expects a continuation of the command on the previous line.


,

A field or string delimiter.


;

Command separator.


_

R:BASE wildcard indicating a single character.


A


Access Rights

Permissions that allows a user to access to a database and tables, and allow the user to assign access rights to other users.


Aggregate Functions

Calculates the sum, count, minimum, maximum, or average for a selected column and returns a variable that can be used in a breakpoint in a report. Variables created with aggregate functions are reset after each breakpoint, allowing you to compute subtotals.


API

The file extension of the application file generated by the Application Designer for internal use in R:BASE 4.5++ and earlier versions. The Application Designer uses it to generate the .APP and .APX files.


APP

The file extension of the ASCII application file generated by the Application Designer. Use it to review and customize an application.


Application

A menu-driven set of one or more procedure or command files performing a specific series of tasks.


Application Designer

The R:BASE utility that allows you to build and modify R:BASE applications.


Application Express

The Application Designer.


APW

The file extension of the application file generated by the Application Designer for internal use in R:BASE 5.5. The Application Designer uses it to generate the .APP and .APX files.


APX

The file extension of the executable binary procedure file generated by the Application Designer. Use it to run an application.


Arguments

Specific information you must provide for a command to work; for example, names of columns or tables, or a list of conditions or values.


Arithmetic Operators

Signs used in expressions to indicate the type of operation to perform. For example, +, -,  *,  **, and /.


Ascending Order

Sorting from lowest to highest (such as 1 to 50, A to Z). Sorting follows the order of ASCII character codes. Ascending is the R:BASE default sorting order.


ASCII

American Standard Code for Information Interchange. A widely used computer character set in which each letter, number, and symbol has a unique numeric value. An ASCII file is a file that contains only characters from this character set.


ASCII Delimited File

An ASCII file in which individual fields in a record are separated with a delimiter character such as a comma or a blank.


ASCII Fixed Field File

An ASCII file in which the same field in each record has the same length, regardless of the number of characters in the field. Also called a columnar text file.


AT Clause

Specifies a screen location by row and column coordinates.


AUTOEXEC.BAT

A DOS operating system file that automatically executes when you start the computer.


Autonumber Column

A column whose values R:BASE automatically calculates and enters.


Autorefresh

An R:BASE feature that periodically updates data in fields that have been changed by other users.


B


Back Up

To make a duplicate copy of your database data and/or structure.


Backcolor

The set of colors that can be used for the background color of a screen, variable form, or R:BASE dialog box.


Backup File

A file created by backing up all or part of a database. A backup file for a whole database includes both the data and the information needed to recreate the database structure. A backup file for a part of a database includes just the information needed to recreate that part; for example, the data for a single table.


Before Image File

A Before Image file contains a log of the commands issued in a transaction. The Before Image files are in the same directory as the database and have extensions that begin with "B," such as DATABASE.B01.


Binary-Encoded File

A file encoded in binary format with CodeLock or the Application Designer; it uses bits to represent numbers, characters, and symbols.


BLOB

Binary Large Object; binary data that is stored in the database as BIT, BITNOTE, VARBIT, and LONG VARBIT data types. Usually a graphic image


Block

A unit of commands or keywords in a procedure file that performs a task. Valid block types are COMMAND, SCREEN, and MENU.


Break Footer

A report section that corresponds to the end of a breakpoint. At the end of a breakpoint, the break footer is printed, then the breakpoint changes. For instance, you can print a sub-total in a break footer.


Break Header

A report section that corresponds to the beginning of a breakpoint. At the beginning of a breakpoint, the break header is printed, then the corresponding detail information is printed. For instance, you can print a sub-heading in a break header.


Break Variable

A variable that causes a break in a report when the value of the variable changes.


Breakpoint

(1) Any command in a command file where the developer wants to stop processing when tracing the command with the Interactive debugger

(2) In reports, a breakpoint indicates that values are to be grouped and sorted by a specified column or variable.


#browdata

A system variable that holds the value of the cell user has highlighted in the Data Browser.


Buffer

Temporary space allocated in memory to perform computations.


Byte

Representations of words and numbers; one text character is equivalent to eight bits, or one byte. The storage capacity of computers is represented in bytes, such as 640K (kilo) bytes. A kilobyte is 1,024 bytes.


C


Case Folding Table

A section in the configuration file that contains a list of corresponding ASCII character codes for uppercase and lowercase letters. The case folding table allows R:BASE to test characters for equality when CASE is set off in operations such as IF and WHILE commands and WHERE clauses.


CFG

The file extension for the R:BASE configuration file.


Character

A single printable letter, numeral, or symbol used to represent data. Includes hidden characters such as space, tab, and carriage return. In R:BASE, the data type for characters is TEXT.


Character Folding Table

A section in the configuration file that lists ASCII character codes that relate uppercase characters to lowercase characters. The character folding table allows R:BASE to relate uppercase characters and lowercase characters in string manipulation functions.


Character Modifier

Replaces, adds to, or modifies individual characters or numbers within a field.


Check Box

A box on an R:BASE form, which the user can check or uncheck, corresponding to a yes/no or true/false selection.


CodeLock

The R:BASE utility used to convert ASCII screen, menu, command, and procedure files to binary command or procedure files.


Combo Box

A drop-down list on an R:BASE form. Non-editable combo boxes allow the user to select a value; editable combo boxes allow the user to enter or select a value.


Collating Table

A section in the configuration file that contains a list of corresponding ASCII character codes for use in sorting and equality testing. Each line in the table begins with the word COLLATE and lists two ASCII character codes. R:BASE considers the first ASCII character code to be equivalent to the second in sorting sequence. The collating table includes characters whose codes would make the sorting sequence inaccurate (for example A and a).


Column

A specific type of information defined for a database table.


Column Object

A field you place on a form, report, or label that corresponds to a value in a column. In forms, you can enter, modify, or display a column value; in reports or labels, the column object displays a column value.


Columnar Text File

See ASCII Fixed-Field File


Command

An instruction to the computer, entered from the keyboard or a file. A command can be a word, abbreviation, or character that directs the system to perform a predefined operation.


Command Block

A group of commands you store for reuse in a procedure file. Identify the command block with the $COMMAND label and the name of the command block.


Command File

A logical set of commands forming a single program and stored in an ASCII file. It cannot contain the $COMMAND identifier. R:BASE executes the commands contained in the command file when the file is run using the INPUT or RUN commands.


Command Mode

See R> Prompt


Command Name

The full name or abbreviation of an R:BASE command, such as SELECT, SET VAR, and RBEDIT. Command names are shown in syntax diagrams in uppercase letters.


$COMMAND

The label that identifies a command block in a procedure file.


Comments

(1) Text in command or application files to provide internal program documentation. The comment text is ignored when R:BASE processes the program

(2) Descriptions in tables and columns.


Common Column

A column in two or more tables that has the same name, data type, and, if TEXT or NUMERIC, the same size.

See also: Linking Column


Comparison Operator

Compares one item to another in an expression or WHERE Clause. Examples of comparison operators are: >, <, =, <>, BETWEEN, LIKE, and CONTAINS.


Computed Column

A column whose value R:BASE calculates based on an expression defined for the column.


Concurrency Control

An R:BASE feature that controls multiple access to tables when users are using forms or the EDIT commands in multi-user mode.


Condition

A specification that is either true or false. Conditions are used in WHERE clauses and in the IF, WHILE, and SWITCH commands.


Configuration File

The file used to set the R:BASE operating environment.

See also: RBASE.CFG


Connecting Operators

Words that connect conditions in a WHERE clause. The connecting operators are AND, AND NOT, OR, and OR NOT.


Constraint

A data integrity rule that ensures that incoming data is compatible with existing data. R:BASE provides the following constraints: primary key, foreign key, unique key, and not null.


Continuation Character

A specific character that allows you to type single entries on multiple lines. The default continuation character is the plus sign (+).


Correlation Name

A nickname or alias for a table or view name; allows you to refer to a table or view in a command without having to retype the name each time it is used.


Cursor

(1) On the screen, a movable marker or line that designates the next point of character entry or change, or is used to select items or toolbar buttons.

(2) In a command file, a pointer to a row in a table or view.


Custom Action

An action assigned to a menu option, which you create by writing a command block. Used in the Application Designer.


D


D

Abbreviation for the Detail section in a report.


DAT

The file extension for an ASCII-delimited file exported from R:BASE.


Data Browser

The R:BASE utility for viewing data in tables in a tabular format. If you want to edit data in this format, switch to the edit mode (Data Editor).


Data Editor

The Data Browser in edit mode; you can then edit data in a tabular format. To view data only, switch to browse mode.


Data Entry Mask

A control to limit which characters can be accepted from the keyboard when entering or editing data in a form.


Data Entry Rule

A user-defined regulation that controls the entry and modification of data in a column or a group of columns.


Data Integrity

The concept of ensuring that data from one table relates to data in other tables, so that data that is added to related tables always matches.


Data Source

A data source is an R:BASE database or a database created with a different program.


Data Type

A specification of the nature of the data held in a column or variable. For a description of each data type, see the Data Types topic.


Database

A collection of logical groups of data, stored in one or more files, used to perform a task.


Database Designer

The R:BASE utility that allows you to create and modify databases, columns, tables, constraints, rules, and indexes.


Database Lock

In multi-user mode, a lock on the entire database preventing any changes to structure or data.


DBMS

Database Management System. A means for storing and retrieving information in a systematic order. Libraries, dictionaries, and file cabinets are all examples of database management systems.


#date

A system variable that holds the current system date. Its data type is DATE.


DBCONV.EXE

The database conversion utility that converts R:BASE 2.11 databases to 3.x databases.


Dbspec

The database name including drive and directory.


Debugger

See Interactive Debugger


Delimiter

A character that marks the end of a unit of data or separates items in a list. The R:BASE default delimiter is a comma.


Descending Order

Sorting from highest to lowest (such as 50 to 1, Z to A). Sorting follows the reverse order of ASCII character codes.


Detail Section

The section in a report that displays a block of data from a driving table or view.


Determinate

A value that allows you to obtain another value.


Device

Term used to describe the current entry source or output destination; for example, the keyboard or a printer.


Dialog Box

A text-based or object-based box for user input or responses.


Directory

A subdivision of the disk space.


Display Mask

Modifiers that control display and printing of characters in a field.

See also: Character Modifiers and String Modifiers


DOS

Disk Operating System. Short form of PC-DOS or MS-DOS.


Dot Variables

A dot (or period) or a colon in front of a variable name indicating that R:BASE will use the value of the variable.


Drive

The computer component used to read and write data on magnetic storage devices such as disks.


Drive Specification or Designation

A letter assigned to a logical or physical division of a disk drive system. For example, drive a:.


Driving Table or View

The table or view that is the primary source of data for a report or form. A report can receive data from several tables; specify the driving table or view to be the table from which the most data is gathered.


E


Echo

An R:BASE setting that displays commands in a command file to the output device as the commands are executed.


EEP

Entry/Exit Procedure. An R:BASE command file run from within a form.


Endkey

The key that the user presses in response to a dialog box.


Entry/Exit Procedure

An R:BASE command file run from within a form.


Environment Settings

The settings for the conditions, special characters, multi-user features, and data entry and display formats that determine the R:BASE operating environment.


Error Messages

Text displayed by the computer when an entry is incorrect or some other condition prevents the system from carrying out a command.


Error Variable

A variable that holds the status of the current operation: 0=success, a positive number=failure.

See also: sqlcode


Exclusive Lock

A table lock obtained through the SET LOCK command. The table remains locked until the SET LOCK OFF command is issued.


Expansion Character Table

A section in the configuration file that lists ASCII character codes for up to seven characters to be equivalent to two other characters.


Explicit Data Typing

To define a data type using the SET VARIABLE command.


Exponential Operator (**)

Arithmetic operator. Raises a number to a specified power.


Export

To send data from R:BASE to a file for use with another product.


Expression

A calculation that produces a single value as the result.


F


Field

A space on a form, report, or label that corresponds to a column in a table or view. Fields display database information from the corresponding column. In a form, you can also enter and edit database information in fields.


File

Data that is stored on a disk and given a unique file name. An R:BASE database is stored in four operating system files: DBNAME.RB1, DBNAME.RB2, DBNAME.RB3, and DBNAME.RB4, where DBNAME is the name of the database.


File Extension

The three letters that follow the period after a file name according to the naming conventions of the operating system.


File Handle

A number used to reference an internal table that the operating system uses to keep track of currently open files. R:BASE uses a maximum of 20 file handles.


Filename

An 8-character file name with a 3-character file extension.


Filespec

File specification. A filename including drive and directory specification. A file specification contains these elements:

  A letter that identifies the drive.

  One or more names of directories separated by backslashes.

  A filename.


Forecolor

The set of colors that can be used for a foreground color of a screen, variable form, or R:BASE dialog box.


Foreign Data Source

An R:BASE database other than the one currently open, or a database created with a different program.


Foreign Key

A column or set of columns that match values in a particular primary key or unique key defined in a different table.


Form

A screen display that allows you to enter, edit, and display database information.


Form Designer

The R:BASE utility that allows you to create and modify R:BASE forms.


Forms Runtime

The R:BASE utility that allows you to run (use) R:BASE forms.


Function

A predefined complex expression to which you pass one or more values and which returns a single value.


Function Keys

Keys used for display and editing functions. The function keys are labeled F1, F2, F3, and so on.


G


Global Variable

A temporary storage area used to hold a single value. Global variables can be used in expressions, command files, forms, and reports. They can also be used in conditional command processing and to transfer data between tables. A global variable is not associated with any database.


H


Hashing

The process of converting text values longer than a specified length to a numeric representation when creating indexes.


I


Implicit Data Typing

A data type that is implied by the value assigned to a variable.


Import

To bring data into R:BASE from a file prepared with another product..


Index

A cross-reference for values contained in a table; an index allows R:BASE to find values in faster.


Indexed Column

A column for which R:BASE maintains a list of locations for the data stored in that column. Used to increase the efficiency with which R:BASE sorts and finds data.


Input Device

A device attached to the computer, such as the keyboard or a disk drive, from which data and commands can be read.


Input File

(1) A file that holds data and/or commands that can be read and acted on by R:BASE.

(2) A file to be imported by the Import/Export utility.


Instruction

A command that tells the computer which operation to perform.


Interactive

Two-way communication between a user and computer software. For example, the user issues a command and R:BASE responds.


Interactive Debugger

The R:BASE utility that uses the TRACE command to debug files. The Interactive Debugger allows you to step through code one line at a time to verify that the proper actions result.


Interval

Time period, in tenths of seconds, during which a waiting command checks for availability of resources in multi-user mode.


K


Key Maps

User-defined keys for storing any series of key strokes you want to use repeatedly in R:BASE.


Keyword

A required or optional element of the syntax of the R:BASE command language. Some keywords link the command and the arguments. Others refine the operation of the command. Keywords are shown in syntax diagrams in uppercase letters.


L


Label

(1) Lines of printed data, such as address information used for mailing labels.

(2) A specification for a line in a command file to which the GOTO command can pass control.


Label Designer

The R:BASE utility that allows you to create and modify R:BASE labels.


LAN

See Local Area Network


Linking

Connecting related information that is stored in different tables.


Linking column

A column in one table that contains the same values as a column in one or more other tables. Linking columns can be two columns with the same name, data type, and size (if TEXT or NUMERIC); or, two columns with different names but compatible data types.


LOB

Large Object; large text data stored in the database as VARCHAR or LONG VARCHAR data types. Can be up to 256 MB.


Local Area Network

A hardware and software system that allows workstations to share computer resources.


Local Lock

In multi-user mode, a local table lock results from a SET LOCK command issued at that workstation.


Lock

Prevents one user's command from changing the structure or data of a table or database while another user's command is using the same resource.


Look-Up Expression

A method for taking a value from a table for use in a form. There are two types of look-up expressions: standard and master. Standard look-up expressions find values in other tables; master look-up expressions find values in the current table.


M


Many-to-Many Relationship

Specifies that table 1 can contain many rows for any given row in table 2 and vice versa.


Mask

(1) Data entry mask; a control to limit which characters can be accepted from the keyboard when entering or editing data in a form.

(2) Display mask; character and string modifiers that replace, add to, modify, center, or justify characters in fields when data is printed or displayed.

See also: Character Modifiers and String Modifiers


MDX

The file extension for a multiple index file for dBASE IV, which is not supported by R:BASE.


Memory

In a computer, temporary storage area that holds a program and data when a program is run. Also known as RAM, or Random Access Memory.


Menu

List of options from which to choose.


Menu Block

An R:BASE menu definition that you store in a procedure file to display a single menu. Identify it with the label $MENU and run it with the CHOOSE command.


Menu File

Contains the information and structure used by the CHOOSE command to display a menu on the screen. CodeLock can add a menu file as a menu block in a procedure file.


$MENU

The label that identifies a menu block in a procedure file.


Messages

Information displayed on screen or written to a file that is relevant to the task being performed; for example, error messages or status messages.


MS-DOS

Operating system developed by Microsoft for IBM personal computers and similar machines.


Multi-User Mode

Enables more than one workstation on a network to use R:BASE at the same time and to share the same database.


N


NDX

The file extension for a dBASE index file.


Nesting

Locating an item within a similar item. In R:BASE, you can nest applications, command files, control structures, functions, and procedure files.


NEWDB.EXE

The utility that creates new databases from previous R:BASE version 3.x to version 4.x.


Null

A representation consisting of one to four characters that identifies the absence of data or when a value does not apply. The R:BASE default is  -0 -.


Numeric Data Types

Data type formats that enable you to manipulate numeric values using arithmetic operators. The following are numeric data types: CURRENCY, DOUBLE, INTEGER, NUMERIC, and REAL.


O


Object Manager

Allows you to access R:BASE features, such as applications, databases, forms, reports, labels, views, and tables.


ODBC

Open Database Connectivity (ODBC) is Microsoft's initiative for a standard SQL interface to database products.


Online HELP

Information displayed to assist the user. You can access Online Help in R:BASE by pressing [F1]. For context-sensitive help, press [Shift]+[F1].


One-to-Many Relationship

Specifies that table 1 can contain only one row for any given row in table 2 but table 2 can contain many rows for any given row in table 1.


One-to-One Relationship

Specifies that table 1 can contain only one row for any given row in table 2 and vice versa.


Operand

A column, variable, string, or value acted on by an operator and combined with another operand to form an expression. In the expression (x + y), x and y are operands and + is the operator.


Operating System

A collection of computer programs that control the overall operation of a computer and perform such tasks as assigning memory to programs and data and controlling the overall entry and output of the system.

See also: MS-DOS, OS/2, and PC-DOS


Operating System Commands

R:BASE commands that manage files, directories, and drives: CHDIR, CHDRV, CHKDSK, COPY, DIR, ERASE, MKDIR, RENAME, RMDIR, TYPE.


Operator

A symbol (such as +, ,  *, **, or /) representing an operation to be performed on one or more columns, values, variables, or strings. R:BASE provides the following types of operators: arithmetic, comparison, connecting, expression, and location.


Optimizer

An internal algorithm that determines the best order for joining tables.


Orphaned Data

Data in one table that does not relate to any data in any other table.


OS/2

Multi-tasking operating system originally developed by Microsoft for use on IBM PC-AT and Personal System/2 computers and 100% compatibles; now owned by IBM.


Output Device

A computer screen, printer, or disk drive, which is attached to the computer and to which data can be sent.


Output File

A file to which data or commands are written from R:BASE or the Import/Export utility.


Owner

The owner of a database. Refers to the user identifier who has been designated as the owner of the database.


Owner Identifier

The identifier (an assigned name by which a user can access a database) for the user who has been designated the owner of the database.


P


Padding

Additional percentage of storage space in NOTE columns to accommodate additional text.


#page

A system variable that is used only in reports to hold the current page number of the report. Its data type is INTEGER.


Page Footer

This section of a report displays information at the bottom of each page, such as totals for the data on each page.


Page Header

This section of a report displays information at the top of each page, such as page numbers or section headings.


Parameter

A value that is passed to a command specifying actions or files that the command will execute.


Parse

The way R:BASE examines and breaks a command line into its component parts before executing it.


Partial Text Index

An index created for a TEXT column by specifying a number of characters to preserve for comparison and storing the remainder of the text as a hashed value.


Password

A character sequence assigned to a specific user identifier. A password prevents other users from accessing the database if they know the user identifier.


Path

The list of drives and directories to search when looking for executable files.


PC-DOS

Operating system for the IBM PC, PC-XT, PC-AT, and 100% compatibles.


PF

Abbreviation for Page Footer.


PH

Abbreviation for Page Header.


#pi

A system variable that holds the value of pi (3.14159265359379). Its data type is DOUBLE.


Picture Format

An R:BASE feature that gives you the ability to create display masks for each field on a report. No matter how data is stored in a table, you can print it according to the display mask set in the picture format.


Plus Sign Prompt (+>)

Indicates that R:BASE expects a continuation of the current command.


Pop-Up Menu

A menu that can appear at any location. R:BASE supports four types of pop-up menus: single column, multi-column, expression, and expression with a column.


Precision

The total number of digits in a NUMERIC data type.


Primary Key

A column or set of columns that uniquely identify a row; in other words, each value in a primary key column is unique. A primary-key constraint prevents duplicate (non-unique) and null values from being entered. Even if you do not specifically define a constraint, all tables (in a well-designed database) should have a primary key. You can define one primary key per table.


Printer Table

A section in the configuration file that contains the information for character conversions.


Procedure File

A binary file generated by the Application Designer or CodeLock containing a series of command blocks, menu blocks, and screen blocks forming a complete, executable program. Designated in the Application Designer with an .APX extension.


Program

A series of R:BASE commands, grouped in logical sections and stored in either binary or ASCII format, each of which performs a specific task.


Pull-Down Menu

A menu that displays options across a menu bar at the top of the screen. Each option on the menu bar can display a pull-down submenu, and each submenu can display a pop-up submenu.


Push Button

A button on an R:BASE form that when pressed, corresponds to a predefined action or an entry/exit procedure.


Q


QBE

See Query By Example


Query

A question; specifically in R:BASE, a query is a question about the data in a database. R:BASE provides the Query By Example utility, which allows you to form queries to your database.


Query By Example

An R:BASE utility that allows you to form queries to your database.


R


R:BASE

The Microrim database management system incorporating SQL and R:BASE commands.


R>

The R:BASE command prompt in the "R> Prompt" window.

See also: R> Prompt


R> Prompt

The R:BASE utility that allows you to enter R:BASE and DOS commands.


Radio Button

A type of button on an R:BASE form. Radio buttons provide a group of options for the user. Only one radio button can be selected at a time.


RB1

The file extension for a database file created using R:BASE versions 4.5 and later. This file contains the database structure.


RB2

The file extension for a database file created using R:BASE versions 4.5 and later. This file contains the data for the database.


RB3

The file extension for a database file created using R:BASE versions 4.5 and later. This file contains the database indexes.


RB4

The file extension for a database file created using R:BASE versions 4.5 and later. This file contains binary and text large objects.


RBASE.CFG

The R:BASE configuration file, read when you start R:BASE, which is used to set the default R:BASE operating environment including multi-user operation, environment settings, startup file, key map definitions, and character tables.


RBASE.DAT

An optional R:BASE command file that executes from the current directory after R:BASE.CFG when R:BASE starts. The Application Designer can create an RBASE.DAT file that executes an application when R:BASE starts.


RBDefine

The Database Designer.


RBEdit

The R:BASE text editor; allows you to create and modify text files.


RBF

The file extension for databases created using R:BASE 3.0, R:BASE for DOS, and R:BASE System V.


RBS

File extension for databases created with R:BASE 5000 and R:BASE 4000.


RBx

The file extension for databases created with R:BASE 4.0 and above. "X" is a number from one to four.


Record

The equivalent of an R:BASE row in an external file.


Region

An area in a form that contains all of the located fields related to a single table. You can use a region to display more than one row of data.


Relational Commands

Commands used to create a new table from existing tables. The relational commands include: INTERSECT, JOIN, PROJECT, SUBTRACT, and UNION.


Relational Database

A collection of information in which data is stored in a set of tables; linking columns among the tables allow for multiple-table operations.


Relational Tools

Operations used to create new tables or append data to existing tables. Relational tools are INTERSECT, JOIN, PROJECT, SUBTRACT, and UNION.


Remote Lock

In multi-user mode, a table lock resulting from a SET LOCK command issued from another workstation on the network.


Report

A format for retrieving information to be sent to a printer or the screen.


Report Designer

The R:BASE utility that allows you to create and modify R:BASE reports.


Report Footer

This section of a report displays information once at the end of the report, such as a report's grand total.


Report Header

This section of a report displays information once at the beginning of the report, such as the report's title.


Report Section

Parts of a report, such as the report header and footer, the page header and footer, the detail section, and break headers and footers.


Reserved Words

Commands, keywords, and other names used exclusively by R:BASE. Do not use these words or any shortened form of them as names for tables, columns, or anywhere else in R:BASE.


Restore

To use a backup copy to replace lost or damaged data or the database structure, or both.


#return

A system variable that holds the value of the key pressed to exit from a variable form. The available key values are ESC, ENTER, PGUP, and PGDN. Its data type is TEXT. Key values are returned within brackets [ ].


RF

Abbreviation for Report Footer.


RH

Abbreviation for Report Header.


RIM

Relational Information Management. RIM was originally designed to work on large-scale, mainframe computers. R:BASE was developed  from the original RIM program.


Row

The data defined by a set of columns in a table. Some relational database products refer to a row as a record.


Rule

A constraint for data entry that ensures the information in your database meets the criteria you specify.


S


Scale

The number of decimal places in a NUMERIC data type


Schema

The structure of the database, which includes the definitions of the tables and their columns.


Scratch File

Temporary file created by R:BASE for use in processing commands.


Screen Area

A screen area is an area of the form that you define, and its size is determined by the target user's screen resolution.


Screen Block

Up to 24 lines of text that you can store in a procedure file and display on the screen using the DISPLAY command. Identify screen blocks with the $SCREEN keyword and the screen block name.


Screen File

A procedure, ASCII, or snapshot file containing up to 24 lines of text that you can display on the screen using the DISPLAY command. A screen file contains both the information and structure used by the DISPLAY command to display text on the screen.


$SCREEN

The label that identifies a screen block in a procedure file


Script

Binary file containing the exact key strokes that you press in a recording session and that you can play back to repeat the recorded process. These files store any keys pressed after the recording process is started, including any mistakes you make. You can record and play back scripts using the RECORD and PLAYBACK commands.


Select

To pick one or more items from a list of options.


Server

The computer and disk on a network that holds shared files.


Single-User

R:BASE system used on a single computer without capabilities for sharing database files.


Size

(1) For TEXT values, the maximum length of the value.

(2) For NUMERIC values, the precision and scale of the value.

(3) The length of a TEXT column to be indexed without hashing.


Snapshot File

A file that holds the text and screen attributes of any screen in the R:BASE window.


Source Table

The existing table from which R:BASE retrieves data.


SQL

Structured Query Language. A standard language for database definition, display, and manipulation. SQL is a standard methodology established by the American National Standards Institute (ANSI) that is recognized in the database industry as the optimal way to query a table. R:BASE provides the complete ANSI Level 2 SQL, which includes SQL enhancements developed by IBM for its DB2 mainframe database language.


sqlcode

A system variable that indicates the result of the previous SQL command: 0=success, 100=no rows found, and a negative number indicates failure. Based on the value of sqlcode, the WHENEVER command can be used to call an error-handling routine.


Startup File

A command file that executes automatically when you load R:BASE, such as RBASE.CFG and RBASE.DAT.


Status Line

The display line at the bottom of the screen used for informational messages about the current window or tool.


String

A sequence of text characters.


String Modifier

Replaces, adds to, or justifies all the characters in a field. In numeric fields, string modifiers identify positive and negative numbers, debits and credits.


Structure

Table names and column definitions that are stored in DBNAME.RB1.


Structured Query Language

A standard language for database definition, display, and manipulation. SQL is a standard methodology established by the American National Standards Institute (ANSI) that is recognized in the database industry as the optimal way to query a table. R:BASE provides the complete ANSI Level 2 SQL, which includes SQL enhancements developed by IBM for its DB2 mainframe database language.


Submenu

A menu that is one level below another menu. You can define as many as 3 levels of menus in an application.


Syntax

The structure of a command that incorporates the rules by which R:BASE recognizes the entry as a valid command.


System Tables

Tables created by R:BASE to store definitions for specific database items.


System Variable

A predefined symbol that is always available for use in R:BASE.


T


Table

Lists of data grouped according to the nature of the data (for example: a list of customers, a list of products, and a list of invoices.) A table is organized by columns and rows.


Table Lock

In multi-user mode, a command that modifies a table obtains a table lock, preventing simultaneous modification by another user.


Text File

An ASCII file that contains text and no commands. Used with the DISPLAY and TYPE commands.


Tier

An area within a region on a form that displays multiple rows of data from the region's table.


#time

A system variable that holds the current system time. Its data type is TIME.


Transaction

A group of commands.


Truncate

To abbreviate or shorten. If fields are too narrow, R:BASE displays a series of asterisks in reports to indicate that text was truncated.


U


Union Operation

The act of combining the columns and rows of two existing tables into a new table


Unique Key

A column or set of columns that uniquely identify a row; in other words, each value in a unique-key column is unique. A unique-key constraint prevents duplicate (non-unique) and null values from being entered. The only difference between a unique key and a primary key is that you can define multiple unique keys per table.


User Identifier

An assigned name by which a user can access a database.


V


Value

Specific number, character, word, or set of words contained in a column or variable.


Variable

A symbol that can assume a succession of values.


Variable Form

A form that does not directly refer to a table. Its fields contain variables only. Use variable forms to enter and evaluate data before entering it in tables.


Variable Object

A field you place on a form, report, or label that corresponds to a variable. In forms, you can enter or display the variable's value; in reports or labels, the variable object displays the variable's value.


View

A query (a SELECT clause) that has been saved and can be used again to retrieve data.


Virtual Storage

A direct access storage device used to store information during processing.


W


Waiting Period

Time interval, in seconds, for preventing database resource conflicts in multi-user mode.


Watch Variable

A variable defined by the application during command-file processing in the Interactive Debugger. This variable is displayed at the top of the screen. A user can monitor watch variables for debugging purposes.


WHERE Clause

Qualifies or restricts the rows affected by an operation or command.


Wildcards

Characters used to represent one or more characters. The R:BASE wildcard characters are _ (one character) and % (one or more characters). The operating system wildcards are ? (one character) and * (many characters).


Workstation

A computer connected to a network, providing access to network resources.


HOT KEYS


Hot Keys for Gateway


Hot Keys for Query By Example


Hot Keys for RBDefine


Hot Keys for RBEdit


Hot Keys for Settings


Hot Keys for the Application Designer


Hot Keys for the Data Browser


Hot Keys for the Form Designer


Hot Keys for the Label Designer


Hot Keys for the R> Prompt


Hot Keys for the Interactive Debugger


Hot Keys for the Report Designer


Hot Keys for Forms Runtime


How To


 Working with
  Databases

To create a database:

1   Choose File: New Database...

2   In the "Enter New Database Name" dialog box, enter a one- to eight-character database name.

Optionally, you can select a different drive and directory to store the new database.

3   Click the OK button.

The Database Designer (RBDefine) opens.

4   In RBDefine, define a table for your database:

  Select "Create a New Table."

  Enter a "Table Name."

  Enter a "Table Description."

5   Click the Columns button.

6   In RBDefine, define the columns for the table:

  In the "Column Name" column, enter a column name in a blank row.

  Select a "Data Type." If you select "TEXT," you can define a length for the column (the total number of characters). If you select "NUMERIC," you must enter values for precision (the total number of digits in the value) and scale (the number of decimal places) separated by a comma.

  If you do not want the column to accept null values, check "Not Null," and enter a "NULL message," which is the warning that appears if a user tries to enter a null value in this column.

  If you want numbers entered automatically for this column, check "AutoNum," and enter values for "Initial value" and "Increment."

If you want the autonumbered column to contain text, use the TEXT data type for the column, and enter a value for "Format." This option lets you specify how the autonumbered values will look. For example, you might want a part number to start with "CX," such as "CX1000."

Use the following format characters:

Character	Result
9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.
Then if you want each part number to start with "CX" plus an autonumbered four-digit number, you would enter "[CX]9999."

  If you want this column to display computed values, check "Computed" and enter an "Expression."

  Enter a "Description" and a value for "Default" where applicable.

When entering data in the database, a default value is the initial value for a column if no other value is specified. For example, when entering telephone numbers, you could define a default value for the area code.

For more information about data types or expressions, refer to the corresponding entries in the Reference Manual.

Repeat Step 6 for each column you want to add to the table.

7   Click the Table button.

8   Click the Save button.

9   Click the OK button.

Repeat Steps 4 through 9 for each table you want to add to the database.

10   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.

See also

Data Types

Expressions


 Working with
  Databases

To open a database:

1   Choose File: Connect to Database...

2   In the "Select a Database" dialog box, select a database.

3   Click the OK button.


 Working with
  Databases

To close a database:

Choose File: Disconnect.


 Working with
  Databases

To add a table to a database:

1   Choose Tools: Database Designer...

2   In RBDefine, add a table:

  Select "Create a New Table."

  Enter a "Table Name."

  Enter a "Table Description."

3   Click the Columns button.

4   In RBDefine define the columns for the table:

  In the "Column Name" column, enter a column name in a blank row.

  Select a "Data Type." If you select "TEXT," you must define a length for the column (the total number of characters). If you select "NUMERIC," you must enter values for precision (the total number of digits in the value) and scale (the number of decimal places) separated by a comma.

  If you do not want the column to accept null values, check "Not Null," and enter a "NULL message," which is the warning that appears if a user tries to enter a null value in this column.

  If you want numbers entered automatically for this column, check "AutoNum," and enter values for "Initial value" and "Increment."

If you want the autonumbered column to contain text, use the TEXT data type for the column, and enter a value for "Format." This option lets you specify how the autonumbered values will look. For example, you might want a part number to start with "CX," such as "CX1000."

Use the following format characters:

Character	Result
9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.
Then if you want each part number to start with "CX" plus an autonumbered four-digit number, you would enter "[CX]9999."

  If you want this column to display computed values, check "Computed" and enter an "Expression."

  Enter a "Description" and a value for "Default" where applicable.

When entering data in the database, a default value is the initial value for a column if no other value is specified. For example, when entering telephone numbers, you could define a default value for the area code.

For more information about data types or expressions, refer to the corresponding entries in the Reference Manual.

Repeat Step 4 for each column you want to add to the table.

5   Click the Table button.

6   Click the Save button.

7   Click the OK button.

8   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.

See also

Data Types

Expressions


 Working with
  Databases

To rename a table:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Tables tab.

3   Select the table you want to rename.

4   Click the Rename button.

5   Enter a new name for the table.

6   Click the OK button.


 Working with
  Databases

To delete a table:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Tables tab.

3   Select the table you want to delete.

4   Click the Delete button.

5   Click the Yes button to verify you want to delete the table.


 Working with
  Databases

To rename a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Columns button.

4   Select the column you want to rename, and enter the new name.

5   Click the Table button.

6   Click the Save button.

7   Click the OK button.

8   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To change a column's data type:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Columns button.

4   Select the column whose data type you want to change.

5   Select a "Data Type." If you select "TEXT," you must define a length for the column (the total number of characters). If you select "NUMERIC," you must enter values for precision (the total number of digits in the value) and scale (the number of decimal places) separated by a comma.

You can also change the "Description," the value for "Default," and so on.

6   Click the Table button.

7   Click the Save button.

8   Click the OK button.

9   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.

See also

Data Types


 Working with
  Databases

To add a column to a table:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the table from the pull-down menu.

3   Click the Columns button.

4   Define a new column for the table:

  In the "Column Name" column, enter a column name in a blank row.

  Select a "Data Type." If you select "TEXT," you must define a length for the column (the total number of characters). If you select "NUMERIC," you must enter values for precision (the total number of digits in the value) and scale (the number of decimal places) separated by a comma.

  If you do not want the column to accept null values, check "Not Null," and enter a "NULL message," which is the warning that appears if a user tries to enter a null value in this column.

  If you want numbers entered automatically for this column, check "AutoNum," and enter values for "Initial value" and "Increment."

If you want the autonumbered column to contain text, use the TEXT data type for the column, and enter a value for "Format." This option lets you specify how the autonumbered values will look. For example, you might want a part number to start with "CX," such as "CX1000."

Use the following format characters:

Character	Result
9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.
Then if you want each part number to start with "CX" plus an autonumbered four-digit number, you would enter "[CX]9999."

  If you want this column to display computed values, check "Computed" and enter an "Expression."

  Enter a "Description" and a value for "Default" where applicable.

When entering data in the database, a default value is the initial value for a column if no other value is specified. For example, when entering telephone numbers, you could define a default value for the area code.

For more information about data types or expressions, refer to the corresponding entries in the Reference Manual.

Repeat Step 4 for each column you want to add to the table.

5   Click the Table button.

6   Click the Save button.

7   Click the OK button.

8   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.

See also

Data Types

Expressions


 Working with
  Databases

To delete a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Columns button.

4   Select the column you want to delete.

5   Click the Delete Column button.

6   Click the Yes button to confirm you want to delete the column.

7   Click the Table button.

8   Click the Save button.

9   Click the OK button.

10   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To renumber a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Columns button.

4   Select the column you want to renumber.

5   If you want to autonumber this column, check "AutoNum," and optionally enter values for "Initial value" and "Increment."

If you want the autonumbered column to contain text, use the TEXT data type for the column, and enter a value for "Format." This option lets you specify how the autonumbered values will look. For example, you might want a part number to start with "CX," such as "CX1000."

Use the following format characters:

Character	Result
9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.
Then if you want each part number to start with "CX" plus an autonumbered four-digit number, you would enter "[CX]9999."

6   If you want to redefine the way the column is autonumbered, enter new values for "Initial value" and "Increment."

7   If you want to change the numbers in current rows of data, check the "Renumber existing data" box. Otherwise, R:BASE uses the new initial value and increment only for new rows of data.

8   Click the Table button.

9   Click the Save button.

10   Click the OK button.

11   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To apply a constraint to a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Keys/Indexes button.

4   Click the New Key button.

5   In the "Pick columns for this key/index" dialog box, select the column to which you want to apply a constraint.

6   Click the Ascending button.

7   Click the OK button.

8   In the "New Key/Index" dialog box, define the constraint for the column:

  Select the type of constraint you want to apply.

  For primary and unique keys, you can check "Case Sensitive" if you want to differentiate between lowercase and uppercase characters. For example, "A" and "a" would be considered unique values if you check this option.

  For a foreign key constraint, select the table that it refers to from "Referenced Table."

  Optionally, you can enter custom violation messages.

9   Click the OK button.

10   Click the Table button.

11   Click the Save button.

12   Click the OK button.

13   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To remove a constraint:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Keys/Indexes button.

4   Select the constraint you want to delete from the "Type" column.

5   Click the Delete Key button.

6   Click the Yes button to confirm you want to delete the constraint.

7   Click the Table button.

8   Click the Save button.

9   Click the OK button.

10   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To apply a rule to a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Rules button.

4   Click the New Rule button.

5   In the "New Rule" dialog box, define the rule:

  Select the "Rule Type."

  Depending on the type of rule you select, select options for "Rule Column," "Verification Table," "Verification Column," "Maximum Value," and "Minimum Value." Options that are not applicable to the selected rule are dimmed.

If you selected "Custom rule," define the conditions of the rule in the WHERE clause, enter a "Message," select either "Succeed" or "Fail," and either "Add/Modify" or "Delete."

6   Click the OK button.

The rule is displayed in RBDefine.

7   Click the Table button.

8   Click the Save button.

9   Click the OK button.

10   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.

See also

WHERE Command


 Working with
  Databases

To modify a rule:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the rule's table from the pull-down menu.

3   Click the Rules button.

All the rules for the current table are displayed.

4   Select the rule you want to modify.

The conditions of the rule are displayed in the "Add/Modify/Delete where" section, and the violation message is displayed in the "Succeeds/Fails, else display this message" section.

5   To modify a rule, you can modify the conditions of the rule or the violation message by typing over the text in the corresponding fields.

Alternatively, you can click the Delete Rule button to delete the rule, then create a new rule.

6   Click the Table button.

7   Click the Save button.

8   Click the OK button.

9   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To delete a rule:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the rule's table from the pull-down menu.

3   Click the Rules button.

All the rules for the current table are displayed.

4   Select the rule you want to delete.

5   Click the Delete Rule button.

6   Click the Yes button to verify you want to delete this rule.

7   Click the Table button.

8   Click the Save button.

9   Click the OK button.

10   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To set rules on or off:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Display button.

3   Check "Rules" if you want to use rules; uncheck "Rules" if you don't want to use them.

4   If you want to save this setting for this R:BASE session only, click the OK button. If you want to save this setting for every session, click the Save button.


 Working with
  Databases

To apply an index to a column:

1   Choose Tools: Database Designer...

2   In RBDefine, select "Modify an Existing Table" and select the column's table from the pull-down menu.

3   Click the Keys/Indexes button.

4   Click the New Key button.

5   In the "Pick columns for this key/index" dialog box, select the column to which you want to apply an index. Select more than one column if you want to define a multi-column index.

6   Click the Ascending or Descending button to specify the sorting order of this index.

7   Click the OK button.

8   In the "New Key/Index" dialog box, define the index for the column:

  Select "Index."

  If you want this column to accept only non-null values during data entry, check "Not Null."

  If you want this index to differentiate between uppercase and lowercase letters, check "Case Sensitive." For instance, "A" and "a" would be interpreted as two unique values.

  If you want this index to ensure that the values entered in this column are unique, check "Unique."

  Enter a name for the index in the "Enter name for this index" section.

9   Click the OK button.

10   If the column(s) to which you are applying this index have TEXT or NOTE data types, in the "RBDefine" dialog box enter the number of characters to preserve. If you want to preserve all characters, do not enter a value.

11   Click the OK button.

12   Click the Table button.

13   Click the Save button.

14   Click the OK button.

15   To close RBDefine, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Databases

To assign an owner identifier:

1   Choose Utilities: Access Rights...

2   In the "Access Rights" dialog box, click the Change Owner button.

3   In the "Change Owner Identifier" dialog box, enter an owner identifier.

4   Click the OK button.

5   Click the Done button.


 Working with
  Databases

To assign access rights:

1   Choose Utilities: Access Rights....

2   In the "Access Rights" dialog box, select "Grant," and assign access rights:

  Select one or more access rights from the list on the left.

  If the access rights are for specific tables or columns, select the table, then select the column(s) from the list on the right.

  If you want the user to be able to assign these access rights to other users, check "Allow User to Grant Selected Rights."

  Enter the user's identifier in "User List." If you want to assign rights to multiple users, you can enter multiple identifiers by separating each with a comma. If you want to assign the rights to everyone, specify public.

3   Click the Grant button.

4   Click the Done button.


 Working with
  Databases

To set a password:

1   Choose Utilities: Set User ID and Password...

2   In the "Set User ID and Password" dialog box, enter your identifier and password.

3   Click the OK button.


 Working with
  Databases

To specify your identifier:

1   Choose Utilities: Set User ID and Password...

2   In the "Set User ID and Password" dialog box, enter your user identifier. Enter a password if you have set one.

3   Click the OK button.


 Working with
  Databases

To remove access rights:

1   Choose Utilities: Access Rights...

2   In the "Access Rights" dialog box, select "Revoke," and remove access rights:

  Select one or more access rights from the list on the left.

  If the access rights are for specific tables or columns, select the table, then select the column(s) from the list on the right.

  Enter the user's identifier in "User List." If you want to remove rights from multiple users, you can enter multiple identifiers by separating each with a comma.

3   Click the Revoke button.

4   Click the Done button.


 Working with
  Databases

To list access rights:

1   Choose Utilities: Access Rights...

2   In the "Access Rights" dialog box, select "List."

3   Select what you want to list:

  If you want to list all access rights, select "All."

  If you want to list access rights for a specific user, select "User," then select the user from the list on the right.

  If you want to list access rights for a specific table, select "Table," then select the table.

4   Click the List button.

The access rights are listed in RBEdit.

Note: You cannot modify the access rights in this display.

5   When you have finished viewing the access rights in RBEdit, choose File: Close.

6   Click the Done button.


 Working with
  Databases

To copy a database under a new name:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Databases tab.

3   Select a database to copy.

Note: If the database you want to copy is open, close the database first by choosing File: Disconnect.

4   Click the Copy button.

5   Enter a name for the copied database.

6   Click the OK button.


 Working with
  Databases

To rename a database:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Databases tab.

3   Select the database you want to rename.

Note: If the database you want to rename is open, close the database first by choosing File: Disconnect.

4   Click the Rename button.

5   Enter the new name for the database.

6   Click the OK button.


 Working with
  Databases

To delete a database:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Databases tab.

3   Select the database you want to delete.

Note: If the database you want to delete is open, close the database first by choosing File: Disconnect.

4   Click the Delete button.

5   Click the Yes button to verify that you want to delete the selected database.


 Working with
  Databases

To back up a database to floppy disks using the menu command:

1   Choose File: Connect to Database...

2   In the "Select a Database" dialog box, select a database to open.

3   Click the OK button.

4   Choose Utilities: Backup/Restore Database.

5   In the "Backup/Restore" dialog box, select "Backup to diskette."

6   From "Drive," select the floppy drive to which you want to back up your database.

7   Click the OK button.

8   Insert each floppy disk as you are prompted and press [Enter].

When the backup is complete, you should label the disks with the date, and for multiple disks, number them.


 Working with
  Databases

To restore a database using the menu command:

1   Choose Utilities: Backup/Restore Database.

2   In the "Backup/Restore" dialog box, select "Restore from diskette."

3   From "Drive," select the drive where the backup diskettes are located.

4   Click the OK button.

5   Insert each floppy disk as you are prompted and press [Enter].


 Working with
  Databases

To compress a database using the Pack In Place option:

1   Choose File: Connect to Database...

2   In the "Select a Database" dialog box, select a database to compress.

3   Click the OK button.

4   Choose Utilities: Pack in Place...

5   In the "Pack In Place" dialog box, select an option:

  To pack only the schema file (file .RB1), select "Schema."

  To pack only the index file (file .RB3), select "Keys."

  To pack the entire database (files .RB1, .RB2, .RB3, and .RB4), select "All."

6   Click the OK button.

R:BASE displays a warning to back up your database first.

7   Click the Yes button to continue.

R:BASE displays all the tables, columns, and indexes as it packs them.


 Working with
  Databases

To compress a database using the Pack To option:

1   Choose File: Connect to Database...

2   In the "Select a Database" dialog box, select a database to open.

3   Click the OK button.

4   Choose Utilities: Pack to...

5   In the "Enter New Database Name" dialog box, enter the name for the new database. Optionally, choose a different drive or directory.

6   Click the OK button.

R:BASE displays all the tables, columns, and indexes as it packs them.


 Working with
  Databases

To compress a database in a multi-user environment:

1   If the database you want to compress is open, choose File: Disconnect.

Every user, including you, must be disconnected from the database you want to compress. While you are compressing the database, users cannot open the database.

2   Choose Utilities: Settings...

3   In the "Character Settings" dialog box, click the Multi-User button.

4   In the "Multi-User Settings" dialog box, uncheck the "Multi-User" check box to turn off the "Multi-User" setting.

5   Click the OK button.

6   Compress the database using either of the following procedures:

  Compressing a database using the Pack In Place option

  Compressing a database using the Pack To option


 Working with
  Databases

To turn the "Multi-User" setting on:

1   If a database is open, choose File: Disconnect.

2   Choose Utilities: Settings...

3   In the "Character Settings" dialog box, click the Multi-User button.

4   In the "Multi-User Settings" dialog box, check the "Multi-User" check box.

5   Click the OK button.


 Working with
  the Data Browser

To view a table:

1   Choose Tools: Data Browser...

2   In the "Table Selection" dialog box, select the table you want to view.

3   Click the OK button.

The table is displayed in the Data Browser. You can scroll horizontally and vertically to view all the data.

4   To close the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  the Data Browser

To change between single- and multiple-row display:

In the Data Browser, press [Shift] + [F6].

Tip: While in the single-row display, press [F8] to display the next row; press [F7] to display the previous row.


 Working with
  the Data Browser

To sort data by one column:

1   In the Data Browser, click in the column you want to sort by.

2   Choose Sort: Single Column...

3   In the "Single Column Sort" dialog box, select a sorting option.

4   Click the OK button.


 Working with
  the Data Browser

To sort data by multiple columns:

1   Choose Sort: Multicolumn Sort...

2   In the "Multicolumn Sort" dialog box, click on the first column you want to sort by.

3   Click the Ascending button or Descending button to specify how you want to sort the data.

Repeat Steps 2 and 3 for each column you want to sort by.

4   Click the OK button.


 Working with
  the Data Browser

To revert to the original sorting order:

Choose Sort: Clear Sort.


 Working with
  the Data Browser

To move a column:

1   In the Data Browser, click in the column where you want to position a column. For example, to move a column to the second position, click in the second column.

2   Choose Layout: Move Column...

3   In the "Move Column" dialog box, select the column you want to move.

4   Select "Move before Current Column."

5   Click the OK button.


 Working with
  the Data Browser

To move a column to the end of the table:

1   Choose Layout: Move Column...

2   In the "Move Column" dialog box, select the column you want to move.

3   Select "Move to after Last column."

4   Click the OK button.


 Working with
  the Data Browser

To hide a column:

1   Choose Layout: Hide Column...

2   In the "Hide Column" dialog box, select the column(s) you want to hide.

3   Click the OK button.


 Working with
  the Data Browser

To show a column:

1   Choose Layout: Show Column...

2   In the "Show Column" dialog box, select the column(s) you want to display.

3   Click the OK button.


 Working with
  the Data Browser

To lock a column:

1   Choose Layout: Lock Column...

2   In the "Lock Column" dialog box, select the column(s) you want to lock.

3   Click the OK button.


 Working with
  the Data Browser

To unlock a column:

1   Choose Layout: Lock Column...

2   In the "Lock Column" dialog box, click the OK button without selecting any columns.


 Working with
  the Data Browser

To change the font:

1   Choose Layout: Change Font...

2   In the "Font" dialog box, select a font.

3   Click the OK button.


 Working with
  the Data Browser

To change a column's color:

1   In the Data Browser, click in the column whose color you want to change.

2   Choose Layout: Change Column Color...

3   In the "Colors Setting" dialog box, click the Set Text Color button, select a text color, then click the OK button.

Click the Set Background Color button, select a background color, then click the OK button.

4   Click the OK button.


 Working with
  the Data Browser

To change a column's width:

1   In the Data Browser, click in the column whose width you want to change.

2   Choose Layout: Change Cell Size...

3   In the "Change Cell Size" dialog box, enter a value for "Column Width." The value corresponds to the number of characters of an average size (10 point font). Decrease the value to reduce the size of the column; increase the value to increase it.

4   Click the OK button.


 Working with
  the Data Browser

To change the row height:

1   Choose Layout: Change Cell Size...

2   In the "Change Cell Size" dialog box, enter a value for "Row Height." The value corresponds to the height in lines. For example, to display a double-spaced table, enter "2."

3   Click the OK button.


 Working with
  the Data Browser

To hide duplicate rows:

Choose Layout: Hide Duplicate Rows.


 Working with
  the Data Browser

To redisplay duplicate rows:

Choose Layout: Allow Duplicate Rows.


 Working with
  the Data Browser

To find a value:

1   In the Data Browser, click in the column in which you want to search.

2   Choose Edit: Search...

3   In the "Search..." dialog box, enter the value(s) you want to search for. You cannot find partial values; the value you search for must match the entire contents of a cell, or use R:BASE wildcards.

For example, if you want to find a specific company, such as "The Data Shop," you cannot find this value if you only enter "Shop." You must enter the entire name, or use an R:BASE wildcard.

The R:BASE wildcards are: %, which finds multiple characters, or _, which finds a single character. For example, "Th%" finds "The" and "Theater." "Th_" finds "The."

4   Click the OK button.


 Working with
  the Data Browser

To change the "Layout" setting:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Display button.

3   In the "Display Settings" dialog box:

  Check "Layout" to turn the setting on.

  Uncheck "Layout" to turn the setting off.

4   Click the OK button to save the setting for only this session of R:BASE. Click the Save button to save the setting for all sessions.


 Working with
  the Data Browser

To save a table as a new table:

1   In the Data Browser, choose File: Save Answer...

2   In the "Save Answer As" dialog box, enter the name of the new table.

3   Click the OK button.


 Working with
  the Data Browser

To compute values in a column:

1   In the Data Browser, choose Calculate: Compute...

2   In the "Compute" dialog box, select the column on which you want to perform computations.

3   Click the OK button.

Depending on the data type of the column, the following computations are displayed:

Count--The number of non-null rows in the column

Rows--The number of rows in the column

Minimum--The minimum value in the column

Maximum--The maximum value in the column

Sum--The sum of the values in the column

Average--The average of the values in the column

Std Dev--The standard deviation of the values in the column

Variance--The variance in the values in the column

A column's data type determines which computations are displayed. For example, if you select a column with the TEXT data type, the sum, average, standard deviation, and variance are not computed.

4   To close the "Calculate" window and return to the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  the Data Browser

To count the number of occurrences of a unique value in a column:

1   In the Data Browser, choose Calculate: Tally...

2   In the "Tally" dialog box, select a column.

3   Click the OK button.

In the "Tally" window, each unique value is listed with the number of occurrences.

4   To close the "Tally" window and return to the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.

Note: Tally does not work with columns with the NOTE data type.


 Working with
  the Data Browser

To group specified columns:

1   In the Data Browser, choose Calculate: Group...

2   In the "Group..." dialog box, select a column or columns to group.

3   Click the OK button.

In the "Group" window, one row for each unique value in the specified column(s) is displayed.

4   To close the "Group" window and return to the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  the Data Browser

To perform a crosstab calculation:

1   In the Data Browser, choose Calculate: Crosstab...

2   In the "Crosstab" dialog box, select the following options:

  Select a column for the side of the crosstab

  Select a column for the top of the crosstab

  Select a column to indicate what information to analyze in the cells of the crosstab

  Select a function to perform on the crosstab cells

Note: Crosstab does not work with columns with the NOTE data type.

3   Click the OK button.

In the "Crosstab" window, the results of the crosstab are displayed.

4   To close the "Crosstab" window and return to the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  the Data Browser

To modify data in a cell:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Click in the cell you want to edit, and modify the data. You can type over the current data, you can add data, and so on.

3   When you have finished editing data, choose Edit: Browse Data to switch to the Data Browser.


 Working with
  the Data Browser

To delete a value in a cell:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Click in the cell whose value you want to delete.

3   Choose Edit: Delete Value.

4   When you have finished editing data, choose Edit: Browse Data to switch to the Data Browser.


 Working with
  the Data Browser

To cut values:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Highlight the value you want to cut.

3   Choose Edit: Cut.


 Working with
  the Data Browser

To copy values:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Highlight the value you want to copy.

3   Choose Edit: Copy.


 Working with
  the Data Browser

To paste values:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Position the cursor where you want to insert a value.

3   Choose Edit: Paste.

The contents of the clipboard is inserted. Graphics are not inserted.


 Working with
  the Data Browser

To insert values into the #browdata variable:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Highlight the value you want to insert.

Note: The entire value will be inserted.

3   Press [Ctrl] + [F5].

The value is inserted into the #browdata variable.


 Working with
  the Data Browser

To add a row to a table:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Click in the row where you want to insert a row. For example, if you want to insert a row between the second and third rows, click in the third row.

3   Choose Edit: Insert Row.

A new row is inserted and all values in it are null. The new row appears at the bottom of the table the next time you open it in the Data Browser.


 Working with
  the Data Browser

To delete a row from a table:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Click in the row you want to delete.

3   Choose Edit: Delete Row.

4   Click the Yes button to confirm.


 Working with
  the Data Browser

To replace all values in a column:

1   In the Data Browser, choose Edit: Edit Data.

The Data Browser changes to the Data Editor.

2   Click in the column whose values you want to replace.

3   Choose Edit: Replace All Column Values...

4   In the "Replace All Column Values" dialog box, enter the value you want to insert in the column.

5   Click the OK button.

Each value in the column is replaced with the value you entered.


 Working with
  the Data Browser

To print the contents of the Data Browser:

1   In the Data Browser, choose File: Print Data...

2   In the "Print" dialog box, if you want to set up your printer, click the Print Setup button.

3   To print the data, click the OK button.


 Working with
  the Data Browser

To change the "Width" setting:

1   Choose Utilities: Settings...

2   In the "Characters Settings" dialog box, click the Misc button.

3   In the "Miscellaneous Settings" dialog box, enter a value (the number of characters on one line) in "Width."

4   Click the OK button to save this setting for only the current session of R:BASE; click the Save button to save the setting for all sessions.


 Working with
  Queries and Views

To select tables for a query:

1   In the "List of Tables" section, select a table. If this section is not displayed, choose Query: Show Table List to display it.

2   Click the Add button.

Repeat Steps 1 and 2 for each table to add to the query.


 Working with
  Queries and Views

To select the columns for a query:

1   After you select the tables for the query (see "To select tables for a query"), position the mouse over the name of a selected table--selected tables are displayed within a border.

2   Click and hold the right mouse button.

3   From the pop-up menu, choose Select Column(s).

4   In the "Table Columns" dialog box, select a column you want to display from the "Column Name" section.

5   Click the Add button.

Repeat Steps 4 and 5 for each column you want to display.

6   Click the OK button.

Repeat this procedure for each table you have selected.


 Working with
  Queries and Views

To use an expression in a query:

1   After you select the tables for the query (see "To select tables for a query"), position the mouse over the name of a selected table--selected tables are displayed within a border.

2   Click and hold the right mouse button.

3   From the pop-up menu, choose Select Column(s).

4   In the "Table Columns" dialog box, click the New Expression button.

5   In the "Expression Builder" dialog box, build an expression:

  To select a column for an expression, first select its table from "Table Name," then highlight the column and click the Add Column button.

  To use a function, select it from "Function Templates," then click the Use button.

  To use an operator, click the corresponding button.

As you add columns, functions, and operators, the expression is displayed in the "Expression Text" section. You can type over the expression text if you want to add to or correct the expression.

6   Click the OK button to accept the expression.

7   In the "Table Columns" dialog box, click the OK button.

The expression is added to the query.

See also

Expressions


 Working with
  Queries and Views

To specify a column alias:

1   Choose Query: Column Aliases...

2   In the "Create Alias" dialog box, select a column alias name from "Column Name."

3   Click the Modify Current Selection button.

4   In the field to the right of the button, enter the column alias.

5   Click the Replace Current Selection button.

The alias is displayed in "Alias Name."

6   Click the OK button.


 Working with
  Queries and Views

To specify the conditions of the query:

1   Choose Query: Where Builder...

Tip: Alternatively, position the mouse over the name of a selected table, click and hold the right mouse button, and choose Where Builder from the pop-up menu.

2   In the "Where Builder" dialog box, specify the conditions:

  To select a column, first select its table from "Table Name," then highlight the column and click the Add Column button.

  To use a function, select it from "Function Templates," then click the Use button.

  To use an operator or keyword, click the corresponding button.

As you add columns, functions, and operators, the conditions are displayed in the "Text of Where Clause" section. You can type over the WHERE clause text if you want to add to or correct the clause.

3   Optionally, click the Test Clause button to test the WHERE clause conditions.

4   Click the OK button to accept the WHERE clause conditions.

The conditions are added to the query.

See also

WHERE Command


 Working with
  Queries and Views

To specify the order to sort data:

1   Choose Query: Sort Clause...

Tip: Alternatively, position the mouse over the name of a selected table, click and hold the right mouse button, and choose Sort Clause from the pop-up menu.

2   In the "Sort By" dialog box, select a column to sort by:

  First, select its table from "Table Name."

  Next, highlight the column in "Column Name."

  Check "Ascending" or "Descending" to specify how you want to sort the data.

  Click the Add button.

The column is added to the "Current Selections" section.

Repeat Step 2 for each column you want to sort by--add each column in the order you want to sort.

3   Click the OK button.

The sorting order is added to the query.


 Working with
  Queries and Views

To change the method of linking tables:

1   Choose Tools: Query By Example...

2   Choose Query: QBE User Settings...

3   In the "QBE User Settings" dialog box, select an option in the "Default Where Clause Creation" section:

  Select "Common Column Names" to link tables by common columns.

  Select "PK/FK" to link tables by columns that have constraints.

  Select "None" if you do not want R:BASE to automatically link tables.

4   Click the OK button.


 Working with
  Queries and Views

To run the query:

1   Choose Query: Browse Query...

Tip: Alternatively, position the mouse over the name of a selected table, click and hold the right mouse button, and choose Browse Query from the pop-up menu.

2   To close the Data Browser and return to Query By Example, press [Ctrl] + [F3].

You can modify the query or save it.

3   To close Query By Example, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Queries and Views

To save the result as a table:

1   In the Data Browser, choose File: Save Answer...

2   In the "Save Answer As" dialog box, enter the name of the new table.

3   Click the OK button.


 Working with
  Queries and Views

To save the result as a view:

1   If the Data Browser is open, press [Ctrl] + [F3].

2   In Query By Example, choose File: Save View As...

3   In the "Save" dialog box, enter the name for the view.

4   Click the OK button.

5   To close Query By Example, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Queries and Views

To look at a view's query conditions:

1   Choose Tools: View Designer...

2   In the "Open a View" dialog box, select a view.

3   Click the OK button.

The conditions of the query are displayed in Query By Example. You can modify the conditions as necessary.

4   To view the results of the query, choose Query: Browse Query...

The results of the query are displayed in the Data Browser.

5   To close the Data Browser, double-click the control-menu box, which is located in the upper-left corner of the window.


 Working with
  Queries and Views

To save a modified view:

Choose File: Save View...


 Working with
  Queries and Views

To save a modified view as a new view:

1   Choose File: Save View As...

2   In the "Save" dialog box, enter the name for the view.

3   Click the OK button.


 Working with
  Queries and Views

To delete a view:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Views tab.

All the views for the current database are listed.

3   Highlight the view you want to delete.

4   Click the Delete button.

5   Click the Yes button to confirm you want to delete the view.


 Working with
  Queries and Views

To rename a view:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Views tab.

All the views for the current database are listed.

3   Highlight the view you want to rename.

4   Click the Rename button.

5   Enter the new name for the view.

6   Click the OK button.


 Working with
  Queries and Views

To copy a view:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   In the Object Manager, click the Views tab.

All the views for the current database are listed.

3   Highlight the view you want to copy.

4   Click the Copy button.

5   Enter the name for the copied view.

6   Click the OK button.


 Working with
  Forms

To define a form:

1   Choose Tools: Form Designer...

2   In the "New Form" dialog box, define the form:

  Select "New."

  Enter a one- to eighteen-character name of the form in "Name."

  Enter a description of the form in "Description." This description appears in the Object Manager when the form is selected and is useful for identifying the form's purpose.

  Select the table to associate with the form from "Table."

  Select the type of form to create:

To create a blank form, select "Custom."

To create a quick form, select "Quick," then select the columns to use for the form. You can select up to 18 columns; press [Shift] + [F6] to select them all. Field objects will be placed on the form that correspond to the selected columns.

3   Click the OK button.

Your form appears in the Form Designer.


 Working with
  Forms

To add a table or view:

1   In the Form Designer, choose Layout: Add or Remove Tables...

2   In the "Table Information" dialog box, select the table or view that you want to add to the form from "Available Tables/Views."

3   Click the Add button.

The tables and views that are associated with the form are listed in "Current Form."

Repeat Steps 2 and 3 for each table or view you want to add.

4   Click the OK button.


 Working with
  Forms

To change the table or view order:

1   In the Form Designer, choose Layout: Add or Remove Tables...

In the "Table Information" dialog box, the form's tables and views are listed in "Current Form" in the order they are used.

2   Select the table or view you want to move.

3   Click the Move Up button or Move Down button to change the order of the tables or views.

Repeat Steps 2 and 3 until the tables and views are in the correct order.

4   Click the OK button.


 Working with
  Forms

To remove a table or view:

1   In the Form Designer, choose Layout: Add or Remove Tables...

2   In the "Table Information" dialog box, in the "Current Form" section, select the table or view you want to remove.

3   Click the Remove button.

Repeat Steps 2 and 3 for each table or view you want to remove.

4   Click the OK button.


 Working with
  Forms

To replace a table or view with another:

1   In the Form Designer, choose Layout: Add or Remove Tables...

2   In the "Table Information" dialog box, select the table or view you want to add to the form from "Available Tables and Views."

3   In the "Current Form" section, select the table or view you want to replace.

4   Click the Replace button.

Repeat Steps 2, 3, and 4 for each table or view you want to replace.

5   Click the OK button.


 Working with
  Forms

To go to the next page:

Press [PageDown].


 Working with
  Forms

To go to the previous page:

Press [PageUp].


 Working with
  Forms

To specify the target user's resolution:

1   In the Form Designer, choose Layout: Resolution Guidelines...

2   In the "Resolution Guidelines" dialog box, select the target user's resolution.

3   Click the OK button.

A box with a red dotted outline appears on the form, outlining the defined screen area. If you want to change the position of the screen area, click on the upper left corner to drag it to a different location.


 Working with
  Forms

To define a screen area:

1   In the Form Designer, choose Object: Screen Area.

2   On the form, click where you want to position the upper left corner of the screen area.

3   In the "Screen Area" dialog box, enter the name of the screen area and click the OK button. This name does not appear on the form when the user runs it; the name is used only as an internal reference.

A box with a red dotted outline appears on the form, outlining the defined screen area. If you want to change the position of the screen area, click on the upper left corner to drag it to a different location.


 Working with
  Forms

To turn the grid on or off:

Choose Layout: Turn Grid On/Off.


 Working with
  Forms

To turn the snap on or off:

Choose Layout: Turn Snap On/Off.


 Working with
  Forms

To specify the size of the grid:

1   Choose Layout: Grid Attributes...

2   In the "Grid Attributes" dialog box, enter values for the grid height and width.

3   Click the OK button.


 Working with
  Forms

To specify preferences for all forms:

1   Choose Utilities: Preferences...

2   In the "Preferences" dialog box, specify your preferences in the "Designer Defaults" section:

  To use the grid and snap features, check the corresponding boxes.

  To display the tool bar in the Form Designer, check "Show Designer Toolbar."

  To specify general form settings, click the Forms button and specify the settings in the "Form Settings" dialog box.

3   Click the OK button.


 Working with
  Forms

To place a box or 3D box:

1   In the Form Designer, choose Object: Box or Object: 3D Box.

The cursor changes to object placement mode.

2   Click in the Form Designer workspace where you want to place the box, then drag the cursor until the box is the correct size.


 Working with
  Forms

To customize a box:

1   In the Form Designer, click on the Arrow tool on the Form Designer tool bar.

2   Click on the box you want to customize.

3   Choose Format: Properties...

4   In the "Box Properties" dialog box, customize the box's appearance:

  Enter a value for the border width and select the type of line.

  If you want the box to have a shadow, check "Shadow Box."

  Select a border color.

  Click the Background Color button to select the inside color of the box.

An example of the box's appearance is displayed in the dialog box.

5   Click the OK button.


 Working with
  Forms

To customize a 3D box:

1   In the Form Designer, click on the Arrow tool on the Form Designer tool bar.

2   Click on the box you want to customize.

3   Choose Format: Properties...

4   In the "3D Box Properties" dialog box, customize the box's appearance:

  Enter a value for the bevel width and border width.

  Select a border color.

  Select "Inset" or "Raised" for the inner and outer boxes.

An example of the box's appearance is displayed in the dialog box. You can achieve a variety of looks by experimenting with the settings:

5   Click the OK button.


 Working with
  Forms

To draw a line:

1   In the Form Designer, choose Object: Horizontal Line or Object: Vertical Line.

The cursor changes to object placement mode.

2   Click in the Form Designer workspace where you want to place the line.

A line is placed on the form.


 Working with
  Forms

To place a text box:

1   In the Form Designer, choose Object: Text.

The cursor changes to object placement mode.

2   Click in the Form Designer workspace where you want to place the text box, then drag the cursor until the text box is the correct size.

3   In the "Text Object Properties" dialog box, specify the text and its appearance:

  Enter the text.

  To change the font, click the Font button and select a font.

  To change the text or background color of the text box, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the text box's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Forms

To place a column object:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table from which you want to place a column.

3   Click the OK button.

4   Choose Object: Column.

The cursor changes to object placement mode.

5   Click in the Form Designer workspace where you want to place the column object.

6   In the "Column Object Properties" dialog box, define the column object:

  Select a column from "Column Name."

  If you want the value in the column object to remain on one line, select "Keep on one Line."

  If you want the value in the column object to wrap, select "Wrap."

  To change the text or background color of the column object, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the column object's appearance is displayed in the dialog box.

7   Click the OK button.


 Working with
  Forms

To place a variable object:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table from which you want to place a variable.

3   Click the OK button.

4   Choose Object: Variable.

The cursor changes to object placement mode.

5   Click in the Form Designer workspace where you want to place the variable object.

6   In the "Variable Object Properties" dialog box, define the variable object:

  Select a variable from "Variable Name."

  If you want to create or modify a variable, click the Add/Edit Variables button.

  If you want the value in the variable object to remain on one line, select "Keep on one Line."

  If you want the value in the variable object to wrap to other lines as needed, select "Wrap."

  To change the text or background color of the variable object, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the variable object's appearance is displayed in the dialog box.

7   Click the OK button.


 Working with
  Forms

To place a radio button object:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table from which you want to place a radio button.

3   Click the OK button.

4   Choose Object: Radio Button.

The cursor changes to object placement mode.

5   Click in the Form Designer workspace where you want to place the radio button.

6   In the "Radio Button Object Properties" dialog box, define the radio button:

  Enter the text for the radio button.

  In "Value that is Set," enter a value that will be used (returned) if this radio button is selected.

  From "Place Value into," select "Column" or "Variable," then select the column or variable in which you want to place the value.

  If you want this radio button to be selected by default, check "Default Checked Button for Group." If you have already defined a default button, this option is unavailable.

7   Click the OK button.


 Working with
  Forms

To place a check box object:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table from which you want to place a check box.

3   Click the OK button.

4   Choose Object: Check Box.

The cursor changes to object placement mode.

5   Click in the Form Designer workspace where you want to place the check box.

6   In the "Check Box Object Properties" dialog box, define the check box:

  Enter the text for the check box.

  From "Place Value Chosen into," select "Column" or "Variable," then select the column or variable in which you want to place the value.

  In "Value if Checked," enter a value that will be used (returned) if this check box is checked.

  In "Value if Unchecked," enter a value that will be used (returned) if this check box is not checked.

  In "Default State," specify the default setting for this check box--checked or unchecked.

7   Click the OK button.


 Working with
  Forms

To place a combo box object:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table from which you want to place a combo box.

3   Click the OK button.

4   Choose Object: Combo Box.

The cursor changes to object placement mode.

5   Click in the Form Designer workspace where you want to place the combo box, then drag the cursor until the object is as big as you want the combo box to be when opened. For example, if you want the combo box to display many items, draw a larger box.

6   In the "Combo Box Object Properties" dialog box, define the combo box:

  If you want users to either select or enter a value in the combo box, select "Editable combo box."

If you only want users to select a value from the combo box, select "Non-editable combo box."

  Select the table from which you want to display data.

  If you want to display data from a single column, select "Single Column," then select the column from "Load Combo Box with values from Column."

If you want to display data from multiple columns, select "Multi-Column," then select the columns from the "Select Columns" dialog box and click the OK button.

If you want to display data from an expression, select "Expression," then enter the expression in the "Expression" box. Or, click the Expression Builder button to build the expression in the Expression Builder.

  If you are displaying data from one or more columns, select the column from which you want to return a value.

  If you want to limit the rows of data displayed in the combo box, enter a WHERE clause in the "Where Clause" box. Or, click the Where Builder button to build a WHERE clause in the Where Builder.

  From "Place Value Chosen into," select "Column" or "Variable," then select the column or variable in which you want to place the selected value.

7   Click the OK button.

See also

Expressions

WHERE Command


 Working with
  Forms

To place a region:

1   In the Form Designer, choose Layout: Set Current Table...

2   In the "Set Current Table" dialog box, select the table for which you want to define a region.

3   Click the OK button.

4   Choose Object: Region.

The cursor changes to object placement mode.

5   Drag the cursor to draw a box, then release the mouse button. The region must be wide enough to contain all of the field objects for the current table, and tall enough to fit the number of tiers you want to display.

6   To change the size of the region, click on the Arrow tool on the Form Designer tool bar, then click on the region to highlight it. Drag a handlebar until the region is the correct size.

7   To move the region, click on the Arrow tool on the Form Designer tool bar, then click on the region and drag it to a different location. Any objects within the region are also moved.


 Working with
  Forms

To define tiers for a region:

1   In the Form Designer, select the region.

2   With the right mouse button, click within the region and choose Add Tiers... from the pop-up menu.

3   In the "Tier Spacing" dialog box, enter a value (in pixels) for the spacing between tiers.

4   Click the OK button.


 Working with
  Forms

To remove tiers:

1   In the Form Designer, select the region.

2   With the right mouse button, click within the region and choose Remove Tiers from the pop-up menu.


 Working with
  Forms

To select one object:

1   Click on the Arrow tool.

2   Click on an object.

Handlebars appear on the selected object.


 Working with
  Forms

To select multiple objects:

1   Click on the Arrow tool.

2   Click in the Form Designer workspace and drag the cursor to draw a box around all the objects you want to select.

Or, you can click on an object, then press and hold the [Shift] key and click on the individual objects you want to select.

A box appears around all of the objects you have selected--you can also tell that an object is selected when handlebars are visible.


 Working with
  Forms

To select all objects:

1   Click on the Arrow tool.

2   Click on an object.

3   Choose Layout: Select All.

A box appears around all of the objects.


 Working with
  Forms

To deselect objects:

Click in the Form Designer workspace outside of the box around selected objects.


 Working with
  Forms

To modify one object:

1   Select an object.

2   Choose Format: Properties...

3   In the "[Object] Properties" dialog box, modify the object properties.

4   Click the OK button.


 Working with
  Forms

To apply a font to multiple objects:

1   Select the objects to which you want to apply a font.

2   Choose Format: Font...

3   In the "Font" dialog box, select a font.

4   Click the OK button.


 Working with
  Forms

To apply a color to multiple objects:

1   Select the objects to which you want to apply a color.

2   Choose Format: Text Color...

3   In the "Colors" dialog box, select the color you want to use for text.

4   Click the OK button.

5   Choose Format: Background Color...

6   In the "Color" dialog box, select the color you want to use for the object backgrounds.

7   Click the OK button.


 Working with
  Forms

To move objects:

1   Select the object(s) you want to move.

2   Click and drag the object(s) to a new position.


 Working with
  Forms

To place an object behind another:

1   In the Form Designer, drag an object to position it over another object.

2   Choose Layout: Send to Back.

The object is now behind the other object.

Note: Boxes and lines are automatically placed behind field objects.


 Working with
  Forms

To resize objects:

1   Select an object to resize.

2   Click and drag a handlebar until the object is the correct size.


 Working with
  Forms

To delete an object:

1   Select the object(s) you want to delete.

2   Press [Delete].


 Working with
  Forms

To align objects with each other:

1   Select the objects you want to align.

2   Choose an option from the Format menu:

  Choose Left Align if you want to align selected objects with the object farthest left.

  Choose Right Align if you want to align selected objects with the object farthest right.

  Choose Top Align if you want to align selected objects with the object closest to the top of the screen.

  Choose Bottom Align if you want to align selected objects with the object closest to the bottom of the screen.


 Working with
  Forms

To resize objects with each other:

1   Select the objects you want to resize.

2   Choose an option from the Format menu:

  Choose Grow to Largest Width if you want all objects as wide as the widest object.

  Choose Grow to Largest Height if you want all objects as tall as the tallest object.

  Choose Shrink to Smallest Width if you want all objects as wide as the smallest object.

  Choose Shrink to Smallest Height if you want all objects as tall as the smallest object.


 Working with
  Forms

To change the order of column or variable objects:

1   In the Form Designer, choose Layout: Change Field Order...

In the "Change Field Order" dialog box, the column and variable objects are listed in the "Order" section.

2   Select a column or variable object--its current position is displayed in "New Position."

3   Enter the new position for the column or variable object in "New Position," or click the Move Up or Move Down buttons to change the position.

4   Click the Change button.

Repeat Steps 2, 3, and 4 until the column and variable objects are in the correct order.

5   Click the OK button.


 Working with
  Forms

To customize column or variable object settings:

1   In the Form Designer, select a column or variable object.

2   Choose Format: Field Settings...

3   In the "Field Settings" dialog box, customize the settings for the selected column or variable object:

  Check the appropriate settings to specify the conditions for entering and modifying data in this column or variable object.

  If you want this column or variable object to have a default value or format mask, check the setting and enter the default value or format mask.

  If you want to provide help for this column or variable object, check the setting and enter a help message.

  If you want to run entry/exit procedures, enter the name of the EEP file in "Run." If the EEP is a command block in a procedure file, enter the name of the block in "Run" and the name of the procedure file in "In."

4   Click the OK button.

See also

Entry/Exit Procedures (EEPs)


 Working with
  Forms

To use a pop-up menu for a field object:

1   In the Form Designer, select a column or variable object.

2   Choose Format: Field Settings...

3   In the "Field Settings" dialog box, click the Pop-up Menus button.

4   In the "Pop-up Menus" dialog box, check "User can access a pop-up menu."

5   If you want to define a custom pop-up menu, check "Use a custom pop-up" and define the pop-up menu:

  Select a table from "Table Name" to specify which table or view will provide data.

  Select the "Pop-up Type."

If you select "Single Column," select the column from which to return a value from "Column Returned."

If you selected "Multi-Column," select the columns to display, then select the column from which to return a value from "Column Returned."

If you selected "Expression," enter the expression in "Menu Values."

If you selected "Expression with Column," enter the expression in "Menu Values" and select the column from which to return a value from "Column Returned."

  Optionally, you can specify the menu's position and title.

  If you want to prompt the user to specify which values to display in the pop-up menu when the form is being run, check "Use Dynamic Where Clause." Enter the message to display to the user in "Message," then enter the WHERE clause using the ampersand (&) to prompt the user for a value.

6   Click the OK button.

See also

Expressions

WHERE Command


 Working with
  Forms

To customize table settings:

1   In the Form Designer, choose Layout: Add or Remove Tables...

2   In the "Table Information" dialog box, select the table whose settings you want to customize from the "Current Form" section.

3   Click the Settings button.

4   In the "Table Settings" dialog box, specify the table settings:

  In the "Row Settings" section, specify the conditions for adding, replacing, and deleting rows.

  If you want to run entry/exit procedures, specify the condition for running the EEP by checking the corresponding setting. Enter the name of the entry/exit procedure file in the corresponding "Run" field. If the EEP is a command block in a procedure file, enter the name of the block in "Run" and the name of the procedure file in "In."

5   Click the OK button.


 Working with
  Forms

To customize form settings:

1   In the Form Designer, choose Layout: Form Settings...

2   In the "Form Settings" dialog box, customize the settings for the form:

  To use a form password, check the settings and specify the password.

Note: Before you assign a password to a form, you must assign an owner identifier to the database.

  You can specify if you want to clear the screen before or after using the form--check the corresponding settings. This settings does not affect the R> Prompt, but is used when you display forms within forms.

  You can display the Runtime tool bar in a form--check "Display Buttons in Form."

  You can specify form background color--click the Form Background Color button, select a color, then click the OK button.

  You can specify default object properties for all new forms--click the corresponding button in the "Object Properties" section, specify the properties, then click the OK button. These settings will be the default for all new objects.

  If you want a hot key to be available to open a pop-up menu other than the default [Shift] + [F3], check the setting and enter the hot key to use.

  You can specify if you want the form to be used for entering and/or editing data--check the corresponding setting. You can also specify the menu choices that will be available to the user--click the corresponding button and select the menu options you want to use.

3   Click the OK button.


 Working with
  Forms

To define a variable:

1   In the Form Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, define a variable. For example, to find out the sales tax of 8% for an item, you could enter the following expression to define the variable vsalestax:

vsalestax = (.08 * price)

3   Click the Add button.

The variable is added to the "Variables List" section.

4   Click the Done button.


 Working with
  Forms

To display a variable on the form:

1   Choose Object: Variable.

The cursor changes to object placement mode.

2   Click in the Form Designer workspace where you want to place the variable object.

3   In the "Variable Object Properties" dialog box, select the variable you defined from "Variable Name."

4   Click the OK button.


 Working with
  Forms

To assign an EEP to a field object:

1   In the Form Designer, select a column or variable object.

2   Choose Format: Field Settings...

3   In the "Field Settings" dialog box, enter the name of the EEP file in "Run." If the EEP is a command block in a procedure file, enter the name of the block in "Run" and the name of the procedure file in "In."

4   Click the OK button.

See also

Entry/Exit Procedures (EEPs)


 Working with
  Forms

To assign an EEP to rows in a table:

1   In the Form Designer, choose Layout: Add or Remove Tables...

2   In the "Table Information" dialog box, select the table whose settings you want to customize from the "Current Form" section.

3   Click the Settings button.

4   In the "Table Settings" dialog box, specify the entry/exit procedures you want to use:

  Specify the condition for running the EEP by checking the corresponding setting.

  Enter the name of the entry/exit procedure file in the corresponding "Run" field. If the EEP is a command block in a procedure file, enter the name of the block in "Run" and the name of the procedure file in "In."

5   Click the OK button.

See also

Entry/Exit Procedures (EEPs)


 Working with
  Forms

To save a form:

Choose File: Save Form.


 Working with
  Forms

To close a form:

Double-click the control-menu box, which is located in the upper-left corner of the Form Designer.


 Working with
  Forms

To open a form to modify it:

1   Choose Tools: Form Designer...

2   In the "New Form" dialog box, open the form:

  Select "Existing."

  Select the form from "Name."

3   Click the OK button.


 Working with
  Forms

To copy a form:

1   If the database for the forms is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Forms tab.

4   Select a form.

5   Click the Copy button.

6   Enter the name for the copied form.

7   Click the OK button.


 Working with
  Forms

To rename a form:

1   If the database for the forms is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Forms tab.

4   Select a form.

5   Click the Rename button.

6   Enter the new name.

7   Click the OK button.


 Working with
  Forms

To delete a form:

1   If the database for the forms is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Forms tab.

4   Select a form.

5   Click the Delete button.

6   Click the Yes button to verify you want to delete the selected form.


 Working with
  Forms

To run a form:

1   In the Form Designer, choose File: Run a Form...

You can also click the Forms Runtime button on the tool bar:

2   In the "Run Form" dialog box, select the form, and select "Edit" or "Enter" to specify how to use the form.

If you select "Edit," you can also enter a WHERE clause to limit rows displayed in the form.

3   Click the OK button.

The form is displayed.

4   Enter, edit, or view data depending on the form using the menu commands available to this form.

You can use hot keys and menu commands to navigate in the form. If you selected the "Display Buttons in Form" form setting, you can also use navigational buttons at the top of the form.

See also

WHERE Command


 Working with
  Forms

To change the "Autoskip" setting:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Display button.

3   In the "Display Settings" dialog box, check the "Autoskip" setting to turn it on, or uncheck it to turn it off.

4   Click the OK button to save this setting for this session of R:BASE only; click the Save button to save the setting for all sessions.


 Working with
  Forms

To set the level of concurrency control:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Multi-User button.

3   In the "Multi-User Settings" dialog box, select "Row" or "Column" to specify the level of concurrency control.

4   Click the OK button to save this setting for this session of R:BASE only; click the Save button to save the setting for all sessions.


 Working with
  Forms

To change the "Autorefresh Interval" setting:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Multi-User button.

3   In the "Multi-User Settings" dialog box, enter a value for "Autorefresh Interval."

4   Click the OK button to save this setting for this session of R:BASE only; click the Save button to save the setting for all sessions.


 Working with
  Forms

To place a push button:

1   In the Form Designer, choose Object: Push Button.

The cursor changes to object placement mode.

2   Click in the Form Designer workspace where you want to place the push button and drag the cursor until the button is the correct size.

3   In the "Push Button Object Properties" dialog box, define the push button:

  Enter the text for the push button.

  If you want to use an entry/exit procedure or command block, select "Custom."

If you are using an entry/exit procedure, enter its name in "Run."

If you are using a command block, enter the name of the block in "Run" and the name of the procedure file in "In."

  If you want to use a predefined action for the push button, select "Predefined," then select the push button's action from "Pre-defined Action to be Executed."

4   Click the OK button.


 Working with
  Reports

To define a report:

1   Choose Tools: Report Designer...

2   In the "New Report" dialog box, define the report:

  Enter a one- to eighteen-character name of the report in "Names."

  Enter a description of the report in "Description."

  Select the table or view to associate with the report from "Table."

  Select the type of report to create.

If you select "Quick," select the columns you want to place on the report. You can select up to 18 columns; press [Shift] + [F6] to select them all. Then, select "Row-wise" or "Column-wise" to specify in which format you want to display data.

3   Click the OK button.

Your report appears in the Report Designer. If you created a quick report, the column objects you selected are placed on the report with their column names as headings in either column or row format.


 Working with
  Reports

To add a section:

In the Report Designer, from the Go To menu, choose the section you want to add. For instance, to add a page footer, choose Go To: Page Footer.


 Working with
  Reports

To delete a section:

1   Click on the section line. The line turns red and the cursor changes to a double arrow.

2   Press [Delete].

3   Click the Yes button to confirm you want to delete the section--all of the objects in the section will also be deleted.


 Working with
  Reports

To expand or contract a section:

Click on the section line and drag it up or down to change the section's size.


 Working with
  Reports

To define a breakpoint:

1   In the Report Designer, choose Layout: Create Breakpoint...

2   In the "Create Breakpoint" dialog box, define a breakpoint:

  Select the next available breakpoint from "Available Breakpoints" and click the Add button.

  While this breakpoint is highlighted in the "Current Breakpoints" section, select "Columns."

  Select the column to which you want to assign a breakpoint from "Name."

  If you want any variables reset at this breakpoint, select the names from "Variables Reset."

  If you want to issue form feeds (page breaks) before the break header associated with this breakpoint, check the "Form feeds before header" option.

  If you want the break header section to stay together on the same page, check "Keep Next Section Together."

  If you want the break footer section to stay together on the same page, check "Keep Previous Section Together."

3   Click the Done button.


 Working with
  Reports

To modify a breakpoint:

1   In the Report Designer, choose Layout: Create Breakpoint...

2   In the "Create Breakpoint" dialog box, select the breakpoint from "Current Breakpoints" and modify the options.

3   Click the Done button.


 Working with
  Reports

To turn the grid on or off:

Choose Layout: Turn Grid On/Off.


 Working with
  Reports

To turn the snap on or off:

Choose Layout: Turn Snap On/Off.


 Working with
  Reports

To specify the size of the grid:

1   Choose Layout: Grid Attributes...

2   In the "Grid Attributes" dialog box, enter values for the grid height and width.

3   Click the OK button.


 Working with
  Reports

To specify preferences for all reports:

1   Choose Utilities: Preferences...

2   In the "Preferences" dialog box, specify your preferences in the "Designer Defaults" section:

  To use the grid and snap features, check the corresponding boxes.

  To display the tool bar in the Report Designer, check "Show Designer Toolbar."

  To specify general report settings, click the Reports button and specify the settings in the "Report Settings" dialog box.

3   Click the OK button.


 Working with
  Reports

To place a box:

1   In the Report Designer, choose Object: Box.

The cursor changes to object placement mode.

2   Click in the Report Designer workspace where you want to place the box, then drag the cursor until the box is the correct size.

A box is placed on the report.


 Working with
  Reports

To customize a box:

1   In the Report Designer, click on the Arrow tool on the Report Designer tool bar.

2   Click on the box you want to customize.

3   Choose Format: Properties...

4   In the "Box Properties" dialog box, customize the box's appearance:

  Enter a value for the border width and select the type of line.

  If you want the box to have a shadow, check "Shadow Box."

  Select a border color.

  Optionally, click the Background Color button to select the inside color of the box.

An example of the box's appearance is displayed in the dialog box.

5   Click the OK button.


 Working with
  Reports

To draw a line:

1   In the Report Designer, choose Object: Horizontal Line or Object: Vertical Line.

The cursor changes to object placement mode.

2   Click in the Report Designer workspace where you want to place the line.

A line is placed on the report.


 Working with
  Reports

To place a text box:

1   In the Report Designer, choose Object: Text.

The cursor changes to object placement mode.

2   Click in the Report Designer workspace where you want to place the text box, then drag the cursor until the text box is the correct size.

3   In the "Text Object Properties" dialog box, specify the text and its appearance:

  Enter the text.

  To change the font, click the Font button and select a font.

  If you want a border, check "Use Border."

  Select the justification.

An example of the text box's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Reports

To place a column object:

1   In the Report Designer, choose Object: Column.

The cursor changes to object placement mode.

2   Click in the Report Designer workspace where you want to place the column object.

3   In the "Column Object Properties" dialog box, define the column object:

  Select a column from "Column Name."

  To change the font, click the Font button and select a font.

  To change the text or background color, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the column object's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Reports

To place a variable object:

1   In the Report Designer, choose Object: Variable.

The cursor changes to object placement mode.

2   Click in the Report Designer workspace where you want to place the variable object.

3   In the "Variable Object Properties" dialog box, define the variable object:

  Select a variable from "Variable Name."

  If you want to create or modify a variable, click the Add/Edit Variables button.

  To change the font, click the Font button and select a font.

  To change the text or background color, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the variable object's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Reports

To select one object:

1   Click on the Arrow tool.

2   Click on an object.

Handlebars appear on the selected object.


 Working with
  Reports

To select multiple objects:

1   Click on the Arrow tool.

2   Click in the Report Designer workspace and drag the cursor to draw a box around all the objects you want to select.

Or, you can click on an object, then press and hold the [Shift] key and click on the individual objects you want to select.

A box appears around all of the objects you have selected--you can also tell that an object is selected when handlebars are visible.


 Working with
  Reports

To select all objects in one section:

1   Click on the Arrow tool.

2   Click on an object.

3   Choose Layout: Select All.

A box appears around all of the objects in one section.


 Working with
  Reports

To deselect objects:

Click in the Report Designer workspace outside of the box around selected objects.


 Working with
  Reports

To modify one object:

1   Select an object.

2   Choose Format: Properties...

3   In the "[Object] Properties" dialog box, modify the object properties.

4   Click the OK button.


 Working with
  Reports

To apply a font to multiple objects:

1   Select the objects to which you want to apply a font.

2   Choose Format: Font...

3   In the "Font" dialog box, select a font.

4   Click the OK button.


 Working with
  Reports

To move objects:

1   Select the object(s) you want to move.

2   Click and drag the object(s) to a new position.


 Working with
  Reports

To place an object behind another:

1   In the Report Designer, drag an object to position it over another object.

2   Choose Layout: Send to Back.

The object is now behind the other object.

Note: Boxes and lines are automatically placed behind field objects.


 Working with
  Reports

To resize objects:

1   Select an object to resize.

2   Click and drag a handlebar until the object is the correct size.


 Working with
  Reports

To delete an object:

1   Select the object(s) you want to delete.

2   Press [Delete].


 Working with
  Reports

To align objects with each other:

1   Select the objects you want to align.

2   Choose an option from the Format menu:

  Choose Left Align if you want to align selected objects with the object farthest left.

  Choose Right Align if you want to align selected objects with the object farthest right.

  Choose Top Align if you want to align selected objects with the object closest to the top of the screen.

  Choose Bottom Align if you want to align selected objects with the object closest to the bottom of the screen.


 Working with
  Reports

To resize objects with each other:

1   Select the objects you want to resize.

2   Choose an option from the Format menu:

  Choose Grow to Largest Width if you want all objects as wide as the widest object.

  Choose Grow to Largest Height if you want all objects as tall as the tallest object.

  Choose Shrink to Smallest Width if you want all objects as wide as the smallest object.

  Choose Shrink to Smallest Height if you want all objects as tall as the smallest object.


 Working with
  Reports

To wrap a field automatically:

1   In the Report Designer, click on the Arrow tool on the Report Designer tool bar.

2   Click on the object you want wrapped when the report is printed.

3   Choose the Format menu and verify that Auto Expand is checked. If Auto Expand is not checked, choose this option.


 Working with
  Reports

To define a format for null values:

1   In the Report Designer, click on the Arrow tool on the Report Designer tool bar.

2   Click on the object for which you want to format null values.

3   Select Format: Null Format...

4   Enter a format for null values.

5   Click the OK button.


 Working with
  Reports

To define a format mask:

1   In the Report Designer, click on the Arrow tool on the Report Designer tool bar.

2   Click on the object for which you want to format null values.

3   Select Format: Picture Format...

4   Enter a format mask.

5   Click the OK button.

See also

Using Format Masks


 Working with
  Reports

To define a new variable:

1   In the Report Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, define a variable in the "Define Expression" section. The variable name can be up to 18 characters long and cannot have the same name as another variable or column in the database.

Optionally, you can select a data type from "Variable Type."

Note: Do not use the following names for variables because they are used by the Application Designer:

LEVEL2	LEVEL3	PICK1	PICK11
PICK12	PICK2	PICK3	PRINTOPT
3   Click the Add button.

Repeat Steps 2 and 3 for each variable you want to define.

4   Click the Done button.


 Working with
  Reports

To edit a variable:

1   In the Report Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, select the variable you want to edit in the "Variables" list.

3   Edit the variable in the "Define Expression" section. If necessary, select a different data type.

4   Click the Change button.

5   Click the Done button.


 Working with
  Reports

To reorder a variable:

1   In the Report Designer, choose Variables: Change Order...

2   In the "Change Order" dialog box, select the variable whose order you want to change.

The variable's current position is displayed in "New Position."

3   Enter a value for "New Position" to change the variable's position, or click the Move Up or Move Down button to reposition the value.

4   Click the Change button.

Repeat Steps 2, 3, and 4 until the variables are in the correct order.

5   Click the Done button.


 Working with
  Reports

To change a variable's report section:

1   In the Report Designer, choose Variables: Change Order...

2   In the "Change Section" dialog box, select the variable for which you want to change the report section.

3   From "New Position," select a report section.

4   Click the Change button.

5   Click the Done button.


 Working with
  Reports

To delete a variable:

1   In the Report Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, select the variable you want to delete in the "Variables" list.

3   Click the Delete button.

4   Click the Done button.


 Working with
  Reports

To change the "Zero" setting:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Display button.

3   In the "Display Settings" dialog box, check or uncheck the "Zero" setting to turn it on or off.

4   Click the OK button to save this setting for this session of R:BASE only; click the Save button to save the setting for all sessions.


 Working with
  Reports

To create a variable from an aggregate function:

1   In the Report Designer, choose Variables: Create Aggregate Functions...

2   In the "Create Aggregate Function" dialog box, define the variable:

  Select the column from "Column Name."

  Select the aggregate function from "Function."

3   Click the Add button.

Repeat Steps 2 and 3 for each variable you want to define.

4   Click the Done button.


 Working with
  Reports

To save a report:

Choose File: Save Report.


 Working with
  Reports

To close a report:

Double-click the control-menu box, which is located in the upper-left corner of the Report Designer.


 Working with
  Reports

To open a report to modify it:

1   Choose Tools: Report Designer...

2   In the "New Report" dialog box, open the report:

  Select "Existing."

  Select the report from "Name."

3   Click the OK button.

Your report appears in the Report Designer.


 Working with
  Reports

To specify page settings:

1   In the Report Designer, choose Layout: Report Settings...

2   In the "Report Settings" dialog box, specify the page settings:

  Enter values for the number of lines per page, and the line number where the page footer is displayed.

  Check the settings you want to use.

3   Click the OK button.


 Working with
  Reports

To print a report:

1   If you are not connected to the report's database, choose File: Connect to Database..., select a database, then click the OK button.

2   Choose File: Print a Report/Label...

3   In the "Print" dialog box, select "Reports" and select the name of the report you want to print.

Optionally, you can enter or build a WHERE clause to limit and sort the rows of data to print.

Check options for the print destination--to the current printer, screen, and/or file. If you check "File," you must enter a file name, and if necessary, a path.

If you want to set up or change your printer, click the Print Setup button.

4   Click the OK button.

See also

WHERE Command


 Working with
  Reports

To copy a report:

1   If the database for the report is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Reports tab.

4   Select a report.

5   Click the Copy button.

6   Enter the name for the copied report.

7   Click the OK button.


 Working with
  Reports

To rename a report:

1   If the database for the reports is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Reports tab.

4   Select a report.

5   Click the Rename button.

6   Enter the new name.

7   Click the OK button.


 Working with
  Reports

To delete a report:

1   If the database for the reports is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Reports tab.

4   Select a report.

5   Click the Delete button.

6   Click the Yes button to verify you want to delete the selected report.


 Working with
  Labels

To define a label:

1   Choose Tools: Label Designer...

2   In the "New Label" dialog box, define the label:

  Enter a one- to eighteen-character name of the label in "Name."

  Enter a description of the label in "Description."

  Select the table or view to associate with the label from "Table."

  Select "Custom."

3   Click the OK button.

Your label appears in the Label Designer with the size of the default template.


 Working with
  Labels

To specify the settings for a label:

1   In the Label Designer, choose Layout: Label Settings...

2   In the "Label Settings" dialog box, specify the settings for the label:

  Select a template to use from "Size template."

  Optionally, you can modify any of the settings listed for the selected template. The default settings are also listed.

3   Click the OK button.


 Working with
  Labels

To turn the grid on or off:

Choose Layout: Turn Grid On/Off.


 Working with
  Labels

To turn the snap on or off:

Choose Layout: Turn Snap On/Off.


 Working with
  Labels

To specify the size of the grid:

1   Choose Layout: Grid Attributes...

2   In the "Grid Attributes" dialog box, enter values for the grid height and width.

3   Click the OK button.


 Working with
  Labels

To specify preferences for all labels:

1   Choose Utilities: Preferences...

2   In the "Preferences" dialog box, specify your preferences in the "Designer Defaults" section:

  To use the grid and snap features, check the corresponding boxes.

  To display the tool bar in the Label Designer, check "Show Designer Toolbar."

  To specify general label settings, click the Labels button and specify the settings in the "Label Settings" dialog box.

3   Click the OK button.


 Working with
  Labels

To place a box:

1   In the Label Designer, choose Object: Box.

The cursor changes to object placement mode.

2   Click in the Label Designer workspace where you want to place the box, then drag the cursor until the box is the correct size.

A box is placed on the label.


 Working with
  Labels

To customize a box:

1   In the Label Designer, click on the Arrow tool on the Label Designer tool bar.

2   Click on the box you want to customize.

3   Choose Format: Properties...

4   In the "Box Properties" dialog box, customize the box's appearance:

  Enter a value for the border width and select the type of line.

  If you want the box to have a shadow, check "Shadow Box."

  Select a border color.

  Optionally, click the Background Color button to select the inside color of the box.

An example of the box's appearance is displayed in the dialog box.

5   Click the OK button.


 Working with
  Labels

To draw a line:

1   In the Label Designer, choose Object: Horizontal Line or Object: Vertical Line.

The cursor changes to object placement mode.

2   Click in the Label Designer workspace where you want to place the line.

A line is placed on the label.


 Working with
  Labels

To place a text box:

1   In the Label Designer, choose Object: Text.

The cursor changes to object placement mode.

2   Click in the Label Designer workspace where you want to place the text box, then drag the cursor until the text box is the correct size.

3   In the "Text Object Properties" dialog box, specify the text and its appearance:

  Enter the text.

  To change the font, click the Font button and select a font.

  If you want a border, check "Use Border."

  Select the justification.

An example of the text box's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Labels

To place a column object:

1   In the Label Designer, choose Object: Column.

The cursor changes to object placement mode.

2   Click in the Label Designer workspace where you want to place the column object.

3   In the "Column Object Properties" dialog box, define the column object:

  Select a column from "Column Name."

  To change the font, click the Font button and select a font.

  To change the text or background color, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the column object's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Labels

To place a variable object:

1   In the Label Designer, choose Object: Variable.

The cursor changes to object placement mode.

2   Click in the Label Designer workspace where you want to place the variable object.

3   In the "Variable Object Properties" dialog box, define the variable object:

  Select a variable from "Variable Name."

  If you want to create or modify a variable, click the Add/Edit Variables button.

  To change the font, click the Font button and select a font.

  To change the text or background color, click the corresponding button and select a color.

  If you want a border, check "Use Border."

  Select the justification.

An example of the variable object's appearance is displayed in the dialog box.

4   Click the OK button.


 Working with
  Labels

To select one object:

1   Click on the Arrow tool.

2   Click on an object.

Handlebars appear on the selected object.


 Working with
  Labels

To select multiple objects:

1   Click on the Arrow tool.

2   Click in the Label Designer workspace and drag the cursor to draw a box around all the objects you want to select.

Or, you can click on an object, then press and hold the [Shift] key and click on the individual objects you want to select.

A box appears around all of the objects you have selected--you can also tell that an object is selected when handlebars are visible.


 Working with
  Labels

To select all objects in one section:

1   Click on the Arrow tool.

2   Click on an object.

3   Choose Layout: Select All.

A box appears around all of the objects in one section.


 Working with
  Labels

To deselect objects:

Click in the Label Designer workspace outside of the box around selected objects.


 Working with
  Labels

To modify one object:

1   Select an object.

2   Choose Format: Properties...

3   In the "[Object] Properties" dialog box, modify the object properties.

4   Click the OK button.


 Working with
  Labels

To apply a font to multiple objects:

1   Select the objects to which you want to apply a font.

2   Choose Format: Font...

3   In the "Font" dialog box, select a font.

4   Click the OK button.


 Working with
  Labels

To move objects:

1   Select the object(s) you want to move.

2   Click and drag the object(s) to a new position.


 Working with
  Labels

To place an object behind another:

1   In the Label Designer, drag an object to position it over another object.

2   Choose Layout: Send to Back.

The object is now behind the other object.

Note: Boxes and lines are automatically placed behind field objects.


 Working with
  Labels

To resize objects:

1   Select an object to resize.

2   Click and drag a handlebar until the object is the correct size.


 Working with
  Labels

To delete an object:

1   Select the object(s) you want to delete.

2   Press [Delete].


 Working with
  Labels

To align objects with each other:

1   Select the objects you want to align.

2   Choose an option from the Format menu:

  Choose Left Align if you want to align selected objects with the object farthest left.

  Choose Right Align if you want to align selected objects with the object farthest right.

  Choose Top Align if you want to align selected objects with the object closest to the top of the screen.

  Choose Bottom Align if you want to align selected objects with the object closest to the bottom of the screen.


 Working with
  Labels

To resize objects with each other:

1   Select the objects you want to resize.

2   Choose an option from the Format menu:

  Choose Grow to Largest Width if you want all objects as wide as the widest object.

  Choose Grow to Largest Height if you want all objects as tall as the tallest object.

  Choose Shrink to Smallest Width if you want all objects as wide as the smallest object.

  Choose Shrink to Smallest Height if you want all objects as tall as the smallest object.


 Working with
  Labels

To define a format for null values:

1   In the Label Designer, click on the Arrow tool on the Label Designer tool bar.

2   Click on the object for which you want to format null values.

3   Select Format: Null Format...

4   Enter a format for null values.

5   Click the OK button.


 Working with
  Labels

To define a format mask:

1   In the Label Designer, click on the Arrow tool on the Label Designer tool bar.

2   Click on the object for which you want to format null values.

3   Select Format: Picture Format...

4   Enter a format mask.

5   Click the OK button.

See also

Using Format Masks


 Working with
  Labels

To define a new variable:

1   In the Label Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, define a variable in the "Define Expression" section. The variable name can be up to 18 characters long and cannot have the same name as another variable or column in the database.

Optionally, you can select a data type from "Variable Type."

Note: Do not use the following names for variables because they are used by the Application Designer:

LEVEL2	LEVEL3	PICK1	PICK11
PICK12	PICK2	PICK3	PRINTOPT
3   Click the Add button.

Repeat Steps 2 and 3 for each variable you want to define.

4   Click the Done button.


 Working with
  Labels

To edit a variable:

1   In the Label Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, select the variable you want to edit in the "Variables" list.

3   Edit the variable in the "Define Expression" section. If necessary, select a different data type.

4   Click the Change button.

5   Click the Done button.


 Working with
  Labels

To reorder a variable:

1   In the Label Designer, choose Variables: Change Order...

2   In the "Change Order" dialog box, select the variable whose order you want to change.

The variable's current position is displayed in "New Position."

3   Enter a value for "New Position" to change the variable's position, or click the Move Up or Move Down button to reposition the value.

4   Click the Change button.

Repeat Steps 2, 3, and 4 until the variables are in the correct order.

5   Click the Done button.


 Working with
  Labels

To delete a variable:

1   In the Label Designer, choose Variables: Edit...

2   In the "Edit Variables" dialog box, select the variable you want to delete in the "Variables" list.

3   Click the Delete button.

4   Click the Done button.


 Working with
  Labels

To save a label:

Choose File: Save Label.


 Working with
  Labels

To close a label:

Double-click the control-menu box, which is located in the upper-left corner of the Label Designer.


 Working with
  Labels

To open a label to modify it:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   If the database for the label is not open, click the Databases tab in the Object Manager, select the database to open, and click the Open button.

3   In the Object Manager, click the Labels tab.

4   Select the label you want to modify.

5   Click the Design button.

The label opens in the Label Designer.


 Working with
  Labels

To print a label:

1   If you are not connected to the database for the labels, choose File: Connect to Database..., select a database, then click the OK button.

2   Choose File: Print a Report/Label...

3   In the "Print" dialog box, select "Labels" and select the name of the labels you want to print.

Optionally, you can enter or build a WHERE clause to limit and sort the rows of data to print.

Check options for the print destination--to the current printer, screen, and/or file. If you check "File," you must enter a file name, and if necessary, a path.

If you want to set up your printer, click the Print Setup button.

4   Click the OK button.

5   Two test labels are printed--verify that your labels printed properly. If they didn't, check to see if the label stock was correctly inserted in your printer. You should also verify that you used the correct dimensions for the labels.

A dialog box opens, asking if you want to print another test.

6   If you want to print another test, click the Yes button. Repeat Steps 5 and 6 until the test labels are printed properly.

7   If your test labels printed properly, click the No button to print your labels.

See also

WHERE Command


 Working with
  Labels

To copy a label:

1   If the database for the label is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Labels tab.

4   Select a label.

5   Click the Copy button.

6   Enter the name for the copied label.

7   Click the OK button.


 Working with
  Labels

To rename a label:

1   If the database for the labels is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Labels tab.

4   Select a label.

5   Click the Rename button.

6   Enter the new name.

7   Click the OK button.


 Working with
  Labels

To delete a label:

1   If the database for the labels is not open, choose File: Connect to Database..., select a database, then click the OK button.

2   If the Object Manager is not open, choose Tools: Object Manager...

3   Click the Labels tab.

4   Select a label.

5   Click the Delete button.

6   Click the Yes button to verify you want to delete the selected label.


 Working with
  Applications

To start an application:

1   Choose File: Connect to Database...

2   In the "Select a Database" dialog box, select the database for which you want to create an application.

3   Click the OK button.

4   Choose Tools: Application Designer...

5   In the "Application Express" dialog box, define the application:

  Enter a "Name "

  Enter a "Window Title," which will appear in the title bar of the application

  Select the "New Application Style."

6   Click the OK button.

The Application Designer opens with a blank application.


 Working with
  Applications

To add menus and menu options for pull-down menus:

In the Application Designer, lay out the menus, submenus, and options:

To...	Do the following...
Place menu names	Click on the menu bar. Enter the name of the menu. To add another menu, Press [Enter] to move to the next menu position and enter the next menu name.
Place menu options	Click on a menu name to display its pull-down menu. Press [Tab], or click on the first line in the pull-down menu, and enter the name of an option. To add another option, press [Enter], and enter the name of the next option.
Add a pop-up submenu to a menu option	With the right mouse button, click on the menu option. Choose Add Pop-up Menu.
Add options to a pop-up menu	After you add the pop-up menu, enter the text for the first option. To add another option, press [Enter] and enter the next option name.
Return to the previous menu level	With the right mouse button, click on the pop-up menu and choose Return to Parent Menu.
Get back to a pop-up menu	With the right mouse button, click on the menu option that has a pop-up menu. Choose Go To Pop-up Menu.
Modify a name	Click on the name and enter the new text. You can also use the [Backspace] and [Delete] keys to modify text.
Insert a menu name	Click on a menu name and press [Enter]. A blank line for a new menu is inserted to the right. Enter the text for the menu name.
Insert a menu option	Click on a menu option and press [Enter]. A blank line is added below for a new option. Enter the text for the menu option.
Delete a menu name or option	Click on the menu name or menu option, then choose Express: Delete Menu Item.
Delete a pop-up menu for a menu option	With the right mouse button, click on the menu option, then choose Delete Pop-up Menu.
Move a menu name or option	Click on the menu name or option, and drag it to the new position.
Insert a line separator in a pull-down or pop-up menu	With the right mouse button, click on a menu option and choose Separator. A line separator is added under the menu option.


 Working with
  Applications

To add menus and menu options for pop-up menus:

In the Application Designer, lay out the menu options and submenus:

To...	Do the following...
Place pop-up menu options	Click on the first line of the pop-up and enter the name of the first option. For each option you want to add, press [Enter] and enter the name of the option.
Add a pop-up submenu to a menu option	With the right mouse button, click on the menu option. Choose Add Pop-up Menu.
Return to the previous menu level	With the right mouse button, click on the pop-up menu and choose Return to Parent Menu.
Get back to a pop-up menu	With the right mouse button, click on the menu option that has a pop-up menu. Choose Go To Pop-up Menu.
Modify a name	Click on the name and enter the new text. You can also use the [Backspace] and [Delete] keys to modify text.
Insert a menu option	Click on a menu option and press [Enter]. A blank line is added below for a new option. Enter the text for the menu option.
Delete a menu option	Click on the menu or menu option, then choose Express: Delete Menu Item.
Delete a pop-up menu for a menu option	With the right mouse button, click on the menu option, then choose Delete Pop-up Menu.
Move a menu option	Click on the menu or option, and drag it to the new position.
Move a pop-up menu	Press and hold [Shift], then click on the pop-up menu and drag it to the new position. Release the [Shift] key.
Insert a line separator in a pull-down or pop-up menu	With the right mouse button, click on a menu option and choose Separator. A line separator is added under the menu option.


 Working with
  Applications

To assign an action to a menu option:

1   In the Application Designer, with the right mouse button, click on the menu option to which you want to assign an action and choose Menu Item Settings...

2   In the "Menu Item Actions" dialog box, define the action(s) for the selected menu option. The actions will be executed in the order they appear in "Current Actions."

  Select an action for this menu command from "New Action."

  Click the Add After button to add the action after the currently highlighted action in the "Current Actions" box.

  Click the Add Before button to add the action before the currently highlighted action in the "Current Actions" box.

  If you want to change the position of any actions in the "Current Actions" box, click on the action, then click the Move Up and Move Down buttons to position the defined actions.

3   Depending on the action you selected, do the following:

If you selected...	Do the following...
Enter data using a form	In the "Action Definition" dialog box, select a form.
Edit data using a form	In the "Action Definition" dialog box, select a form, and optionally enter a WHERE clause to specify the data to display.
Delete rows from a table	In the "Action Definition" dialog box, select a table, and optionally enter a WHERE clause to specify the data to delete.
Browse and edit rows in a table	In the "Action Definition" dialog box, select a table, specify the column(s), and optionally enter a WHERE clause to specify the data to display.
Select rows from a table	In the "Action Definition" dialog box, select a table, specify the column(s), and optionally enter a WHERE clause to specify the data to display.
Update a column in a table	In the "Action Definition" dialog box, select a table, specify the column, enter a value to insert, and optionally enter a WHERE clause to specify the data to modify.
Print reports	In the "Action Definition" dialog box, select a report, and optionally enter a WHERE clause to specify the data to print.
Print labels	In the "Action Definition" dialog box, select a label, and optionally enter a WHERE clause to specify the data to print.
Custom actions	Enter the name for the command block and click the OK button. In RBEdit, enter your code for this custom action or open an existing file to use. When you have finished, choose File: Save, then choose File: Close.
Set user identifier	Enter the user identifier. (If you want to prompt the user for the identifier, do not enter anything.)
4   Click the Done button.

Repeat Steps 2, 3, and 4 for each action you want to assign to this menu option.

5   In the "Menu Item Actions" dialog box, click the Done button.

See also

WHERE Command


 Working with
  Applications

To change the application's environment settings:

1   In the Application Designer, choose one of the following commands from the Express menu:

  Set Message Status

  Set Error Status

  Set Bell Status

2   Click the Yes or No button to specify the setting.


 Working with
  Applications

To choose the color of your application:

1   In the Application Designer, choose Express: Set Screen Color.

2   In the "Color Settings" dialog box, click the Set Background Color button.

3   In the "Colors" dialog box, select a color.

4   Click the OK button, then click the OK button again.


 Working with
  Applications

To save an application:

In the Application Designer, choose File: Save Application. The application code is displayed in the R> Prompt.


 Working with
  Applications

To close an application:

Double-click the control-menu box, which is located in the upper-left corner of the Application Designer.


 Working with
  Applications

To run an application:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   Click the Apps tab.

3   Select an application.

4   Click the Run button.


 Working with
  Applications

To specify the "Messages" setting:

1   Choose Utilities: Settings...

2   In the "Character Settings" dialog box, click the Display button.

3   In the "Display Settings" dialog box, check the "Status Messages" to display messages; uncheck the box if you don't want messages.

4   Click the OK button to save this setting for only this session of R:BASE; click the Save button to save this setting for all sessions.


 Working with
  Applications

To delete an application:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   Click the Apps tab.

3   Select an application.

4   Click the Delete button.


 Working with
  Applications

To rename an application:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   Click the Apps tab.

3   Select an application.

4   Click the Rename button.

5   Enter the new name for the application.

6   Click the OK button.

After renaming an application, you must open and save it in the Application Designer to have the .APW file reflect the new application name.

7   In the Object Manager, select the application that was renamed.

8   Click the Design button.

9   Choose File: Save.

10   Double-click the control-menu box, which is located in the upper-left corner of the Application Designer to close the application.


 Working with
  Applications

To copy an application:

1   If the Object Manager is not open, choose Tools: Object Manager...

2   Click the Apps tab.

3   Select an application.

4   Click the Copy button.

5   Enter the name for the copied application.

6   Click the OK button.

After copying an application, you must open and save it in the Application Designer to have the .APW file reflect the new application name.

7   In the Object Manager, select the copy of the application.

8   Click the Design button.

9   Choose File: Save.

10   Double-click the control-menu box, which is located in the upper-left corner of the Application Designer to close the application.


 Working with
  Applications

To start the Interactive Debugger:

1   If the Object Manager is not open, choose Tools: Object Manager.

2   In the Object Manager, click the Apps tab.

3   Select an application.

4   Click the Trace button.

The R> Prompt opens and starts the TRACE command for the selected application. The TRACE command processes each command one at a time.

5   To continue to the next command, press [F10].

Certain commands used in applications require keyboard input as the Interactive Debugger processes them. You cannot return to the Interactive Debugger when the system is processing the input--you must first exit the form, menu or edit screen.

The commands listed below require keyboard input:

BROWSE	CHOOSE	DIALOG
EDIT	EDIT USING	ENTER
FILLIN	GATEWAY	LBLPRINT
PAUSE	PRINT	QUERY
RBEDIT
The Interactive Debugger is interrupted if an error or warning occurs while processing commands. The Interactive Debugger halts the command file processing, and displays the message regardless of the current settings for ERROR MESSAGE and MESSAGES. The error or warning message relates to the last command processed, not the command currently highlighted, which has not yet been processed.

Note: To change the settings for ERROR MESSAGE, choose Utilities: Settings... and click the Display button. In the "Display Settings" window, check or uncheck the "Error Messages" box.

6   The Interactive Debugger exits when the command file finishes--if you want to exit sooner, press [Esc].

When you exit the Interactive Debugger, R:BASE saves your watch variables, break variables, and breakpoints to an environment file, named after the application with the .DBG extension. The next time you debug this application, the Interactive Debugger automatically restores your configurations.


 Working with
  Applications

To set a breakpoint:

In the Interactive Debugger window, click on the line where you want to set a breakpoint and press [F9]. A breakpoint is set on the highlighted line.


 Working with
  Applications

To delete all breakpoints:

In the Interactive Debugger window, press [Shift] + [F7].


 Working with
  Applications

To move from one break condition to another:

In the Interactive Debugger window, press [F5]. The TRACE command executes all commands from the present position to the next breakpoint.


 Working with
  Applications

To set a break variable:

1   In the Interactive Debugger window, press [Shift] + [F9].

2   Enter the name of the variable. If you want to choose the variable from a menu, enter nothing.

3   Click the OK button.

4   If you did not enter a variable name, select it from the pop-up menu.


 Working with
  Applications

To clear a break variable:

In the Interactive Debugger window, press [Ctrl] + [F9]. Select the break variable to delete from the pop-up menu.


 Working with
  Applications

To clear all break and watch variables:

In the Interactive Debugger window, press [Ctrl] + [F7].


 Working with
  Applications

To set watch variables:

1   In the Interactive Debugger window, press [F6].

2   Select a variable or variables from the pop-up menu.

3   Press [Enter].


 Working with
  Applications

To remove a watch variable:

1   In the Interactive Debugger window, press [Shift] + [F6].

2   Select the watch variable to delete.

Note: Removing a watch variable does not delete the variable from the R:BASE list of variables.


 Working with
  Applications

To change the value of a watch variable:

1   In the Interactive Debugger window, press [Ctrl] + [F8].

2   Select the variable you want to change from the pop-up menu.

3   Enter the value for the watch variable.

4   Click the OK button.


 Working with
  Applications

To test an EEP:

1   Enter DEBUG TRACE as the first command line in the EEP code.

2   Choose Utilities: Settings...

3   In the "Character Settings" dialog box, click the Display button.

4   In the "Display Settings" dialog box, check the "Debug" box.

5   Click the OK button.

6   If you are not connected to the appropriate database, choose File: Connect to Database... In the "Select a Database" dialog box, select a database and click the OK button.

7   Choose File: Run a Form...

8   In the "Run Form" dialog box, select the form that uses the EEP you want to test. Select either "Edit" or "Enter," depending on the form.

9   Click the OK button.


 Working with
  Applications

To convert an ASCII command file to a binary command file:

1   Choose Utilities: CodeLock...

2   In the "CodeLock" dialog box, select "Convert an ASCII Command File to a Binary Command File."

3   Click the OK button.

4   In the "Name of the ASCII Command File to Convert" dialog box, select the file you want to encode.

5   Click the OK button.

6   In the "Name of the Backup File" dialog box, enter a name for the backup file.

7   Click the OK button.

8   In the "Name of the Binary Command File" dialog box, enter a name for the encoded file.

9   Click the OK button.

If MESSAGES is set on, the file being encoded is displayed on screen. When the file is encoded, click the OK button.


 Working with
  Applications

To convert an ASCII application file to a binary procedure file:

1   Choose Utilities: CodeLock...

2   In the "CodeLock" dialog box, select "Convert an ASCII Application File to a Binary Procedure File."

3   Click the OK button.

4   In the "Name of the ASCII Application File to Convert" dialog box, select the file you want to encode.

5   Click the OK button.

6   In the "Name of the Procedure File" dialog box, enter a name for the encoded file.

7   Click the OK button.

If MESSAGES is set on, the file being encoded is displayed on screen. When the file is encoded, click the OK button.


 Working with
  Applications

To add an ASCII command file to a procedure file:

1   Choose Utilities: CodeLock...

2   In the "CodeLock" dialog box, select "Add an ASCII Command File to a Procedure File."

3   Click the OK button.

4   In the "Name of the ASCII Command File to Add" dialog box, select the ASCII file you want to add to a procedure file.

5   Click the OK button.

6   In the "Name of the Procedure File" dialog box, enter the name of the procedure file (.APX) to which the command file is to be added.

7   Click the OK button.

In the R> Prompt, R:BASE displays a list of the blocks in the procedure file you chose.

8   Verify the name of the binary command block to be added to the procedure file.

The name of the binary command block defaults to the name of the command file you chose to add.

9   Click the OK button.

  If a block with that name already exists in the procedure file, R:BASE asks if you want to overwrite the existing block. Click the OK button to overwrite the existing block, or click the Cancel button to rename the binary command block that you are adding.

  When MESSAGES is set on, the file being encoded is displayed on screen. When the file is encoded, click the OK button.


 Working with
  Applications

To add an ASCII screen file to a procedure file:

1   Choose Utilities: CodeLock...

2   In the "CodeLock" dialog box, select "Add an ASCII Screen File to a Procedure File."

3   Click the OK button.

4   In the "Name of the ASCII Screen File to Add" dialog box, select the file you want to add.

5   Click the OK button.

6   In the "Name of the Procedure File" dialog box, enter the name of the procedure file (.APX) to which the screen file is to be added.

7   Click the OK button.

In the R> Prompt, R:BASE displays a list of the blocks in the procedure file you chose.

8   Verify the name of the binary screen block to be added to the procedure file.

The name of the binary screen block defaults to the name of the screen file you chose to add.

9   Click the OK button.

  If a block with that name already exists in the procedure file, R:BASE asks if you want to overwrite the existing block. Click the OK button to overwrite the existing block, or click the Cancel button to rename the binary screen block that you are adding.

  When MESSAGES is set on, the file being encoded is displayed on screen. When the file is encoded, click the OK button.


 Working with
  Applications

To add an ASCII menu file to a procedure file:

1   Choose Utilities: CodeLock...

2   In the "CodeLock" dialog box, select "Add an ASCII Menu File to a Procedure File."

3   Click the OK button.

4   In the "Name of the ASCII Menu File to Add" dialog box, select the file you want to add.

5   Click the OK button.

6   In the "Name of the Procedure File" dialog box, enter the name of the procedure file (.APX) to which the menu file is to be added.

7   Click the OK button.

In the R> Prompt, R:BASE displays a list of the blocks in the procedure file you chose.

8   Verify the name of the binary menu block to be added to the procedure file.

9   Click the OK button.

  If a block with that name already exists in the procedure file, R:BASE asks if you want to overwrite the existing block. Click the OK button to overwrite the existing block, or click the Cancel button to rename the binary menu block that you are adding.

  If R:BASE detects that the menu file being added is an invalid menu file, it displays an error message and does not add the file.

  When MESSAGES is set on, the file being encoded is displayed on screen. When the file is encoded, click the OK button.


 Recovering from Errors

Before you run the recovery program, do the following:

  Back up your database and Before Image files.

  Make sure all users have exited from the affected database.

  Change to the directory that contains the affected database and Before Image files.

To use the recovery program:

1   At the R> Prompt, enter RECOVER.

All the databases that need to be recovered are listed.

2   At the R> Prompt, enter RECOVER dbname, where dbname is the name of the database you want to recover.

3   R:BASE displays a message recommending that you back up the damaged database and Before Image files. If you want to continue, select Yes. If you want to stop the RECOVER command to back up the necessary files, select No.

4   RECOVER displays the names of any damaged Before Image files and asks whether to delete them in order to recover the rest of the database. To delete these files, select Yes. To skip the deletion, select No. However, you must delete damaged Before Image files before you can access the database.

RECOVER displays a list of any Before Image files it expects but cannot find. You can leave the database unrecovered, or recover it without the missing files. You cannot reconstruct a Before Image file.

A message is displayed when the recovery is complete. The recovery process removes all table and database locks that were active when processing was interrupted.


 Working with
  Foreign Data Sources

To set up a foreign data source:

1   In the "R:BASE 5.5" program group, double-click the ODBC Administrator icon.

2   In the "Data Sources" dialog box, click the Add button to set up the data source(s).

3   In the "Add Data Source" dialog box, select the data source's driver from "Installed ODBC Drivers."

4   Click the OK button.

5   For an R:BASE data source, in the "Microrim R:BASE Driver Setup" dialog box, enter the path and name of the data source in "Database Name," and optionally enter a description.

For other data sources, follow the instructions on the screen and answer the necessary prompts.

6   Click the OK button.

In the "Data Sources" dialog box, the data source appears in "Data Sources (Driver)."

Repeat steps 2 through 6 for each data source you want to add.

7   Click the Close button.


 Working with
  Foreign Data Sources

To connect a foreign data source:

1   Start R:BASE and open a database.

2   Choose Utilities: Connect SQL Data Source...

3   In the "SQL Data Sources" dialog box, select the data source you want to connect.

4   Click the OK button.

Depending on the data source you have connected, you might have to answer prompts, such as for passwords. For more information, refer to the documentation for the data source.


 Working with
  Foreign Data Sources

To disconnect a foreign data source:

1   Choose Utilities: Disconnect SQL Data Source...

2   In the "Disconnect Data Source" dialog box, select the data source you want to disconnect.

3   Click the Disconnect button.

Repeat Steps 2 and 3 for each data source you want to disconnect.

4   Click the Close button.


 Working with
  Foreign Data Sources

To attach a foreign table:

1   Choose Utilities: Attach SQL Database Tables...

2   In the "Attach Table(s)" dialog box, select a data source, then select a table to attach.

3   If you want to use an alias for the table (for instance, if the table name is the same as one in the current database), check the "Attach as alias" option and enter an alias in the box below.

4   Click the Attach button.

5   If the table you are attaching has no primary or unique key defined, the "Select Column Set" dialog box opens; select the columns that uniquely identify rows, then click the OK button.

6   Click the OK button.

For each additional table you want to attach, repeat Steps 2 through 5.

7   Click the Close button.


 Working with
  Foreign Data Sources

To detach a foreign table:

1   Choose Utilities: Detach SQL Database Tables...

2   In the "Detach Table(s)" dialog box, select the table you want to detach.

3   Click the Detach button.

Repeat Steps 2 and 3 for each table you want to detach.

4   Click the Close button.


 Single-User Mode

To operate in single-user mode:

1   Have all users disconnect from the database.

2   Enter SET MULTI OFF at the R> Prompt.

3   Reconnect one user to the database.


Names

Valid names must start with a letter, and can include the following characters:

  Letters (A-Z)

  Numbers (0-9)

  # (pound sign)

  _ (underscore)

  $ (dollar sign)

  % (percent sign)


Menu Commands


Add Pop-up Menu

Context Help

Delete Menu Item

Delete Pop-up Menu

Go To Pop-up Menu

Menu Item Settings

Return to Parent Menu

Separator


Aggregate

Compute

Crosstab

Group

Tally


	Browse Data	Insert Row
	Copy	Paste
	Cut	Paste DB Info
	Delete All Rows	Replace
	Delete Row	Replace All Column Values
	Delete Value	Search
	Edit Data	Search Again
	Go To Line	Undo


Delete Menu Item

Delete Pop-up Menu

Edit Cleanup File

Edit Startup File

Set Bell Status

Set Error Status

Set Message Status

Set Screen Color


	Connect to Database	Open View	Save File As
	Disconnect	Page Setup	Save Form
	Exit	Print	Save Form As
	New Application	Print a Report/Label	Save Label
	New Database	Print Data	Save Label As
	New File	Print Preview	Save Playback File
	New Table	Printer Setup	Save Report
	New View	Run a Form	Save Report As
	Open Application	Save Answer	Save Table
	Open File	Save Application	Save View
	Open Playback File	Save Application As	Save View As
	Open Table	Save File


	Auto Expand	Background Color
	Bottom Align	Field Settings
	Font	Grow to Largest Height
	Grow to Largest Width	Left Align
	Null Format	Picture Format
	Pop-Up Menus	Properties
	Right Align	Shrink to Smallest Height
	Shrink to Smallest Width	Tab Stops
	Text Color	Top Align
	Wrap Lines


	Add Tiers	Auto Expand
	Background Color	Bottom Align
	Context Help	Field Settings
	Font	Grow to Largest Height
	Grow to Largest Width	Left Align
	Null Format	Picture Format
	Pop-Up Menus	Properties
	Remove Tiers	Right Align
	Shrink to Smallest Height	Shrink to Smallest Width
	Text Color	Top Align


Break Footer (Level 1- Level 10)

Break Header (Level 1- Level 10)

Detail

Page Footer

Page Header

Report Footer

Report Header


About R:BASE 5.5

Contents

Search for help on

Tutorial


	Add or Remove Tables	Change Cell Size	Change Column Color
	Change Field Order	Change Font	Create Breakpoint
	Delete Object	Form Settings	Grid Attributes
	Hide Column	Hide Duplicate Rows	Label Settings
	Lock Column	Move Column	Report Settings
	Resolution Guidelines	Select All	Send to Back
	Set Current Table	Show Column	Table Settings
	Turn Grid Off	Turn Grid On	Turn Snap Off
	Turn Snap On	Turn Toolbar Off	Turn Toolbar On


	3D Box	Box
	Check Box	Column
	Combo Box	Horizontal Line
	Push Button	Radio Button
	Region	Screen Area
	Text	Variable
	Vertical Line


Browse Query

Column Aliases

Context Help

Remove Table

Select Column(s)

Sort Clause

Where Builder


	Browse Query	Clear Query
	Column Aliases	Copy Query from Clipboard
	Copy Query to Clipboard	Hide Query Text
	Hide Table List	QBE User Settings
	Show Query Text	Show Table List
	Sort Clause	Where Builder


Clear Sort

List

Multicolumn Sort

Single Column


	Application Designer	Query By Example
	Data Browser	R> Prompt
	Database Designer	Report Designer
	Form Designer	Text Editor
	Label Designer	View Designer
	Object Manager


	Access Rights	Import/Export Database
	Attach dBASE File	Pack in Place
	Attach SQL Database Tables	Pack to
	Backup/Restore Database	Playback a Script
	CodeLock	Preferences
	Connect SQL Data Source	Record a Script
	Define a Keymap	Set Current Working Directory
	Detach SQL Database Tables	Set User ID and Password
	Disconnect SQL Data Source	Settings
	Display Keymaps	Take a Snapshot
	Flush Updates to Disk


Change Order

Change Section

Create Aggregate Functions

Edit

List Expressions


Arrange Icons

Cascade

Close All

Tile


Application Popup Menu


Add Pop-up Menu

Choose this option to add a pop-up menu to the current menu option.


Context Help

Choose this option to open context-sensitive online Help.


Delete Menu Item

Choose this option to delete the current menu option.


Delete Pop-up Menu

Choose this option to delete the pop-up menu for the current menu option.


Go To Pop-up Menu

Choose this option to access the pop-up menu for the current menu option.


Menu Item Settings

Choose this option to define the actions for the current menu option.


Return to Parent Menu

Choose this option to access the higher-level (parent) menu for the current pop-up menu.


Separator

Choose this option to place a separator line on the current menu.


Calculate Menu


Aggregate

Choose this option to apply an aggregate function to the current column in the Data Browser.


Compute

Choose this option to perform calculations using aggregate functions on a selected column in the Data Browser.


Crosstab

Choose this option to perform a crosstab on the selected columns in the Data Browser.


Group

Choose this option to group the selected column(s) in the Data Browser.


Tally

Choose this option to count the number of occurrences for each value in the selected column in the Data Browser.


Edit Menu


Browse Data

Choose this option to change to browse mode; the Data Editor becomes the Data Browser.


Copy

Choose this option to copy the selected data to the Windows Clipboard.


Cut

Choose this option to delete the selected data and copy it to the Windows Clipboard.


Delete All Rows

Choose this option to delete all rows in the current table.


Delete Row

Choose this option to delete the current row.


Delete Value

Choose this option to delete the selected value.


Edit Data

Choose this option to change to edit mode; the Data Browser becomes the Data Editor.


Go To Line

Choose this option to go to a specified line in the file.


Insert Row

Choose this option to insert a new row in the current table.


Paste

Choose this option to insert the contents of the Windows Clipboard.


Paste DB Info

Choose this option to insert selected database information such as a column or table name.


Replace

Choose this option to replace a specified value with a new value you enter.


Replace All Column Values

Choose this option to replace all values in a column with a specified value or expression.


Search

Choose this option to search for a specified value.


Search Again

Choose this option to repeat a search.


Undo

Choose this option to undo the last action.


Express Menu


Delete Menu Item

Choose this option to delete the current menu option.


Delete Pop-up Menu

Choose this option to delete the pop-up menu for the current menu option.


Edit Cleanup File

Choose this option to edit the cleanup command block for the current application in the Text Editor.


Edit Startup File

Choose this option to edit the startup command block for the current application in the Text Editor.


Set Bell Status

Choose this option to set the bell status.


Set Error Status

Choose this option to set the error message status.


Set Message Status

Choose this option to set the system message status.


Set Screen Color

Choose this option to change the application color.


File Menu


Connect to Database

Choose this option to open a database.


Disconnect

Choose this option to close a database.


Exit

Choose this option to exit R:BASE.


New Application

Choose this option to create a new application in the Application Designer.


New Database

Choose this option to create a new database in the Database Designer.


New File

Choose this option to create a new text file in the Text Editor.


New Table

Choose this option to create a new table for the current database in the Database Designer.


New View

Choose this option to create a new view in the View Designer.


Open Application

Choose this option to open an application in the Application Designer.


Open File

Choose this option to open a file in the Text Editor.


Open Playback File

Choose this option to open a playback file in the Text Editor.


Open Table

Choose this option to open a table in the Database Designer.


Open View

Choose this option to open a view in the View Designer.


Page Setup

Choose this option to set up the page for the current file in the Text Editor.


Print

Choose this option to print the contents of the current window.


Print a Report/Label

Choose this option to print a report or label.


Print Data

Choose this option to print the contents of the current window--either the Data Browser or the Text Editor.


Print Preview

Choose this option to preview the contents of the Text Editor on the screen as it will appear when printed.


Printer Setup

Choose this option to set up your printer.


Run a Form

Choose this option to run and use a selected form.


Save Answer

Choose this option to save the data in the Data Browser as a new table.


Save Application

Choose this option to save the current application.


Save Application As

Choose this option to save the current application with a new name.


Save File

Choose this option to save the current file.


Save File As

Choose this option to save the current file with a new name.


Save Form

Choose this option to save the current form.


Save Form As

Choose this option to save the current form with a new name.


Save Label

Choose this option to save the current label.


Save Label As

Choose this option to save the current label with a new name.


Save Playback File

Choose this option to save the current playback file.


Save Report

Choose this option to save the current report.


Save Report As

Choose this option to save the current report with a new name.


Save Table

Choose this option to save the current table.


Save View

Choose this option to save the current view, or the current query conditions as a view.


Save View As

Choose this option to save the current view with a new name.


Format Menu


Auto Expand

Choose this option to automatically wrap text in a selected field for a text column in a report.


Background Color

Choose this option to specify the background color of a field or object.


Bottom Align

Choose this option to align all selected objects with the one that is closest to the bottom of the page.


Field Settings

Choose this option to specify the settings for the selected field.


Font

Choose this option to set the font for the current session in the Text Editor.


Grow to Largest Height

Choose this option to resize all selected objects to the height of the largest selected object.


Grow to Largest Width

Choose this option to resize all selected objects to the width of the largest selected object.


Left Align

Choose this option to align all selected objects with the one that is farthest left.


Null Format

Choose this option to specify the format for null values in the specified field.


Picture Format

Choose this option to enter a display mask for the selected field.


Pop-Up Menus

Choose this option to customize a pop-up menu for the current object.


Properties

Choose this option to specify the settings for the current object.


Right Align

Choose this option to align all selected objects with the one that is farthest right.


Shrink to Smallest Height

Choose this option to resize all selected objects to the height of the smallest selected object.


Shrink to Smallest Width

Choose this option to resize all selected objects to the width of the smallest selected object.


Tab Stops

Choose this option to set the tab stops for the current session in the Text Editor.


Text Color

Choose this option to specify the text color of a field, or the line color of a box or line.


Top Align

Choose this option to align all selected objects with the one that is closest to the top of the page.


Wrap Lines

Choose this option to wrap text to the size of the window for the current session in the Text Editor.


FORM, REPORT, OR LABEL Popup Menu


Add Tiers

Choose this option to add tiers to the selected region.


Auto Expand

Choose this option to automatically wrap text in a selected field for a text column in a report.


Background Color

Choose this option to specify the background color of a field or object.


Bottom Align

Choose this option to align all selected objects with the one that is closest to the bottom of the page.


Context Help

Choose this option to open context-sensitive online Help.


Field Settings

Choose this option to specify the settings for the selected field.


Font

Choose this option to specify the font for the selected field.


Grow to Largest Height

Choose this option to resize all selected objects to the height of the largest selected object.


Grow to Largest Width

Choose this option to resize all selected objects to the width of the largest selected object.


Left Align

Choose this option to align all selected objects with the one that is farthest left.


Null Format

Choose this option to specify the format for null values in the specified field.


Picture Format

Choose this option to enter a display mask for the selected field.


Pop-Up Menus

Choose this option to customize a pop-up menu for the current object.


Properties

Choose this option to specify the settings for the current object.


Remove Tiers

Choose this option to remove the tiers from the selected region.


Right Align

Choose this option to align all selected objects with the one that is farthest right.


Shrink to Smallest Height

Choose this option to resize all selected objects to the height of the smallest selected object.


Shrink to Smallest Width

Choose this option to resize all selected objects to the width of the smallest selected object.


Text Color

Choose this option to specify the text color of a field, or the line color of a box or line.


Top Align

Choose this option to align all selected objects with the one that is closest to the top of the page.


Go To Menu


Break Footer (Level 1-Level 10)

Choose this option to go to or insert a specified break footer (level 1 through level 10).


Break Header (Level 1-Level 10)

Choose this option to go to or insert a specified break header (level 1 through level 10).


Detail

Choose this option to go to or add a detail section to a report.


Page Footer

Choose this option to go to or add a page footer to a report.


Page Header

Choose this option to go to or add a page header to a report.


Report Footer

Choose this option to go to or add a report footer to a report.


Report Header

Choose this option to go to or add a report header to a report.


Help Menu


About R:BASE 5.5

Choose this option to display your version of R:BASE 5.5.


Contents

Choose this option to open online Help.


Search for help on

Choose this option to search for a topic in online Help.


Tutorial

Choose this option to open the R:BASE Tutorial.


Layout Menu


Add or Remove Tables

Choose this option to add or remove tables, define regions, and specify table settings for a form.


Change Cell Size

Choose this option to specify the column width and row height of cells in the Data Browser.


Change Column Color

Choose this option to specify a text and background color for the current column in the Data Browser.


Change Field Order

Choose this option to change the order of fields in a form.


Change Font

Choose this option to specify the font for the text in the Data Browser.


Create Breakpoint

Choose this option to create a breakpoint in a report.


Delete Object

Choose this option to delete the current object.


Form Settings

Choose this option to specify the settings for a form.


Grid Attributes

Choose this option to specify the width and height of the grid.


Hide Column

Choose this option to hide a column or columns in the Data Browser.


Hide Duplicate Rows

Choose this option to hide duplicate rows in the Data Browser.


Label Settings

Choose this option to specify the settings for a label.


Lock Column

Choose this option to lock a column or columns in the Data Browser.


Move Column

Choose this option to move a specified column in the Data Browser.


Report Settings

Choose this option to specify the settings for a report.


Resolution Guidelines

Choose this option to specify the user's screen resolution, which will be the size of one screen area.


Select All

Choose this option to select all objects--you must select one object before choosing this command.


Send to Back

Choose this option to place the selected object behind other objects.


Set Current Table

Choose this option to set the current table for a form you are working with.


Show Column

Choose this option to show a hidden column or columns in the Data Browser.


Table Settings

Choose this option to specify the settings for the current table or view.


Turn Grid Off

Choose this option to hide the grid.


Turn Grid On

Choose this option to show the grid.


Turn Snap Off

Choose this option to turn off the snap feature; objects and fields will not align automatically to the grid.


Turn Snap On

Choose this option to use the snap feature; objects and fields will align automatically to the grid.


Turn Toolbar On

Choose this option to display a tool bar in the current designer.


Turn Toolbar Off

Choose this option to hide the tool bar in the current designer.


Object Menu


3D Box

Choose this option to place a box with beveled edges.


Box

Choose this option to place a box.


Check Box

Choose this option to place a check box on the form.


Column

Choose this option to place a column object.


Combo Box

Choose this option to place a combo box on the form.


Horizontal Line

Choose this option to place a horizontal line.


Push Button

Choose this option to place a push button on the form.


Radio Button

Choose this option to place a radio button on the form.


Region

Choose this option to place a region corresponding to the current table.


Screen Area

Choose this option to define a screen area on the form.


Text

Choose this option to place text.


Variable

Choose this option to place a variable object.


Vertical Line

Choose this option to place a vertical line.


QBE Popup Menu


Browse Query

Choose this option to view the results of a query in the Data Browser.


Column Aliases

Choose this option to define new alias names for the columns in the query.


Context Help

Choose this option to open context-sensitive online Help.


Remove Table

Choose this option to remove a table reference from the current query.


Select Column(s)

Choose this option to select the columns for the current query.


Sort Clause

Choose this option to specify a sorting order for the current query.


Where Builder

Choose this option to create specify the conditions (WHERE clause) for the current query.


Query Menu


Browse Query

Choose this option to view the results of a query in the Data Browser.


Clear Query

Choose this option to clear the conditions of the query in the "Query By Example" window.


Column Aliases

Choose this option to define new alias names for the columns in the query.


Copy Query from Clipboard

Choose this option to copy the contents of the Windows Clipboard to the query text.


Copy Query to Clipboard

Choose this option to copy the query conditions (SELECT clause text) to the Windows Clipboard.


Hide Query Text

Choose this option to hide the display of the query text in the "Query By Example" window.


Hide Table List

Choose this option to hide the list of tables in the "Query By Example" window.


QBE User Settings

Choose this option to specify the settings for Query By Example.


Show Query Text

Choose this option to show the query text in the "Query By Example" window.


Show Table List

Choose this option to show the table list in the "Query By Example" window.


Sort Clause

Choose this option to specify a sorting order for the current query.


Where Builder

Choose this option to create specify the conditions (WHERE clause) for the current query.


Sort Menu


Clear Sort

Choose this option to clear the current sort conditions for the Data Browser.


List

Choose this option to list the current sort conditions for the Data Browser.


Multicolumn Sort

Choose this option to sort the data in the Data Browser by multiple columns.


Single Column

Choose this option to sort the data in the Data Browser by one column.


Tools Menu


Application Designer

Choose this option to create and modify applications.


Data Browser

Choose this option to look at the data in a table or view.


Database Designer

Choose this option to create and modify tables and columns for the current database.


Form Designer

Choose this option to create and modify forms.


Label Designer

Choose this option to create and modify labels.


Object Manager

Choose this option to access R:BASE features, such as applications, databases, forms, reports, labels, views, and tables.


Query By Example

Choose this option to create a query.


R> Prompt

Choose this option to enter R:BASE commands.


Report Designer

Choose this option to create and modify reports.


Text Editor

Choose this option to create and modify a text file.


View Designer

Choose this option to create and modify views.


Utilities Menu


Access Rights

Choose this option to assign, remove, and list access rights to the database, and to set an owner identifier.


Attach dBASE File

Choose this option to select dBASE files and indexes and attach them to the current database.


Attach SQL Database Tables

Choose this option to attach a foreign database table to the current database.


Backup/Restore Database

Choose this option to backup or restore a database.


CodeLock

Choose this option to encode a command or procedure file.


Connect SQL Data Source

Choose this option to connect a foreign data source to the current database.


Define a Keymap

Choose this option to define a key map.


Detach SQL Database Tables

Choose this option to detach foreign tables.


Disconnect SQL Data Source

Choose this option to disconnect a foreign data source from the current database.


Display Keymaps

Choose this option to display key maps.


Flush Updates to Disk

Choose this option to force database information to be written to disk.


Import/Export Database

Choose this option to import or export data.


Pack in Place

Choose this option to compress the database using the Pack in Place option.


Pack to

Choose this option to compress the database using the Pack to option.


Playback a Script

Choose this option to play back a script file.


Preferences

Choose this option to specify the location for R:BASE message, help, and configuration files.


Record a Script

Choose this option to record a script file.


Set Current Working Directory

Choose this option to specify the directory in which you want to work.


Set User ID and Password

Choose this option to set or change a user identifier and password.


Settings

Choose this option to specify settings for R:BASE characters, multi-user mode, format, display, key maps, and colors.


Take a Snapshot

Choose this option to copy the entire screen to the Windows Clipboard as a bitmap.


Variables Menu


Change Order

Choose this option to change the order of defined variables.


Change Section

Choose this option to change the report section for which a variable is defined.


Create Aggregate Functions

Choose this option to define a variable with an aggregate function.


Edit

Choose this option to define and modify variables.


List Expressions

Choose this option to list the variables you have defined.


Window Menu


Arrange Icons

Choose this option to arrange the icons for the minimized windows.


Cascade

Choose this option to arrange the current R:BASE windows in a cascading display.


Close All

Choose this option to close all of the current R:BASE windows.


Tile

Choose this option to arrange the current R:BASE windows in a tiled display.


Whats New in R:BASE 5.5


What's New in R:BASE 5.5
Form, Report, and Label Designer Enhancements

Command Enhancements


Form, Report, and Label Designer Enhancements

Default Settings for Form, Report, and Label Objects

Designer Tool Bars

Form Screen Areas

New Form Objects

Opening R:BASE Tools Automatically

Pop-Up Menu Enhancement

Preview

Report Designer and Settings

Selecting Multiple Objects

Command Enhancements


Default Settings for Form, Report, and Label Objects

You can set your preferences for objects in individual forms, reports, and labels. For instance, if you start a new form, you can specify that you want all boxes to be gray with black double-line borders, and all text objects to use a 10 point font.

To specify the object defaults for an individual form, report, or label, choose the corresponding Settings option from the Layout menu (for example, Layout: Report Settings). You can then specify the object's default settings in the "Object Properties" section.

You can also set global default object settings, which affect all new forms, reports, and labels. For instance, if you want all your reports to use the same font, specify a global setting for report objects. To set global object defaults, choose Utilities: Preferences... and specify the settings in the "Designer Defaults" section.

See also

"Form Settings" dialog box

"Report Settings" dialog box

"Label Settings" dialog box

"Preferences" dialog box

"3D Box Properties" dialog box

"Box Properties" dialog box

"Check Box Object Properties" dialog box

"Column Object Properties" dialog box

"Combo Box Object Properties" dialog box

"Push Button Object Properties" dialog box

"Radio Button Object Properties" dialog box

"Text Object Properties" dialog box

"Variable Object Properties" dialog box


Designer Tool Bars

You can now place objects in forms, reports, and labels more easily with new Designer tool bars:


Form Screen Areas

You can now design forms for a specific monitor size. For instance, if you are designing a form on a monitor with a higher resolution than your user's monitor, you can define a screen area the size of the user's monitor resolution. You can then place objects within the screen areas, ensuring that form objects are within the user's field of view.

For more information, see Chapter Three of the User's Manual.


New Form Objects

You can place several new objects on your forms. Click on an object for a description:


3D Box

A box with three dimensional shading. You can specify the width of the bevel and borders, and you can also choose inset or raised borders.


Opening R:BASE Tools Automatically

You can have R:BASE open certain tools automatically when you start R:BASE, such as:

  The Object Manager

  The Text Editor, RBEdit

  The R> Prompt

To specify which tools to open, choose Utilities: Preferences... and check the tools from the "Launch on Startup" section.

See also

"Preferences" dialog box

Object Manager

RBEdit

R> Prompt


Pop-Up Menu Enhancement

Pop-up menus in forms are now standard Windows pop-up menus. You can also give the pop-up menu a title. Pop-up menus automatically adjust their size and location based on the data it displays.

See also

"Pop-Up Menus" dialog box


Preview

A new option in the Form Designer is the Preview feature; just click the Preview button to see what the form will look like when you run it.


Report Designer and Settings

The Report Designer now displays a vertical ruler, making it easier to lay out your reports. You also have new report settings:

  You can specify margins

  You can keep break headers and break footers on one page, avoiding widow or orphan text.

See also

"Report Settings" dialog box


Selecting Multiple Objects

You can now select multiple objects in the Form, Report, and Label Designers by clicking on the Arrow tool, then dragging the cursor around all the objects you want to select.


Form, Report, and Label Designer Enhancements

Command Enhancements

New Commands

AUTOFIX--A utility that allows you to fix a damaged database.

CASCADE--A command that cascades all open windows.

CLOSEWINDOW--A command that allows you to specify which window to close after a specified action.

MAXIMIZE--A command that maximizes the R> prompt window.

MINIMIZE--A command that minimizes the R> prompt window.

NORMALIZE--A command that sizes the R> prompt window to the default size.

PRNSETUP--A command that you can use in an application to allow users to set up their printer.

SETFOCUS--A command that allows you to specify a window to focus on after a specified action.

TILE--A command that tiles open windows.

Modified Commands

	CHOOSE	EDIT USING	ENTER
	GATEWAY	INSERT	PLAYBACK
	RBEDIT	RUN	WRITE


Form, Report, and Label Designer Enhancements

Default Settings for Form, Report, and Label Objects

Designer Tool Bars

Form Screen Areas

New Form Objects

Opening R:BASE Tools Automatically

Pop-Up Menu Enhancement

Preview

Report Designer and Settings

Selecting Multiple Objects

Command Enhancements

New Commands

AUTOFIX--A utility that allows you to fix a damaged database.

CASCADE--A command that cascades all open windows.

CLOSEWINDOW--A command that allows you to specify which window to close after a specified action.

MAXIMIZE--A command that maximizes the R> prompt window.

MINIMIZE--A command that minimizes the R> prompt window.

NORMALIZE--A command that sizes the R> prompt window to the default size.

PRNSETUP--A command that you can use in an application to allow users to set up their printer.

SETFOCUS--A command that allows you to specify a window to focus on after a specified action.

TILE--A command that tiles open windows.

Modified Commands

	CHOOSE	EDIT USING	ENTER
	GATEWAY	INSERT	PLAYBACK
	RBEDIT	RUN	WRITE


Set


	SET


	Using the SET Command

Use SET to change the current status of R:BASE special characters and operating conditions. The SET operating conditions are used to set the database environment while you build and run commands from the R> prompt or command files and applications.

  To change the setting from the R> prompt for a special character, enter:

SET special character name=value

Do not use spaces on either side of the equal sign (=). For example:

SET QUOTES="

  To change the setting from the R> prompt for an operating condition, enter:

SET keyword setting

For example:

SET BELL ON

  To remap keys on the keyboard from the R> prompt, enter:

SET KEYMAP keyname = remapped keys

For example, if you want to remap [SHIFT] [F6] to [F2], enter:

SET KEYMAP [SHIFT] [F6] = [F2]

  To reset a key to its original default value from the R> prompt, enter:

SET KEYMAP keyname OFF


	SET Special Characters
BLANK

DELIMIT

LINEEND

MANY

NULL

PLUS

QUOTES

SEMI

SINGLE


	SET Keywords
AND	ANSI	AUTOCOMMIT	AUTOSKIP
BELL	CAPTION	CASE	CLEAR
COLOR	CURRENCY	DATE	DEBUG
ECHO	ERROR MESSAGES	ERROR VARIABLE	ESCAPE
FASTFK	FASTLOCK	FEEDBACK	FILES
FONT	HEADINGS	INSERT	INTERVAL
KEYMAP	LAYOUT	LINES	LOCK
LOOKUP	MANOPT	MAXTRANS	MESSAGES
MULTI	NAME	NOTE_PAD	PAGEMODE
PASSTHROUGH	QUALCOLS	REFRESH	REVERSE
ROWLOCKS	RULES	SCRATCH	SELMARGIN
SEMI	SORT	SORTMENU	STATICDB
TIME	TIMEOUT	TOLERANCE	TRANSACT
USER	USERAPP	VARIABLE	VERIFY
WAIT	WHILEOPT	WIDTH	WRAP
ZERO


 Categories of the SET
 Operating Conditions

The following table shows the categories of the SET operating conditions.

Operating Condition	SET Keywords
Display	CAPTION, COLOR, ECHO, ERROR MESSAGES, FEEDBACK, HEADINGS, INSERT, LAYOUT, MESSAGES, REVERSE, SORTMENU, USERAPP, WRAP, ZERO
Environment	AUTOSKIP, CASE, CLEAR, FASTFK, NOTE_PAD, RULES, SCRATCH, SORT, STATICDB, TOLERANCE
Format	CURRENCY, DATE, TIME
Multi-user	FASTLOCK, INTERVAL, LOCK, MULTI, NAME, QUALCOLS, REFRESH, ROWLOCKS, TIMEOUT, VERIFY, WAIT
Programming	AND, ANSI, BELL, DEBUG, ERROR VARIABLE, ESCAPE, KEYMAP, LOOKUP, MANOPT, PAGEMODE, SEMI, USER, WHILEOPT
Screen	FILES, LINES, SELMARGIN, WIDTH
Transaction Processing	AUTOCOMMIT, MAXTRANS, TRANSACT


 AND
 Operating Condition

Syntax: SET AND ON/OFF

Default: ON

SET AND gives the connecting operator AND precedence over OR in WHERE, IF, and WHILE conditions. When on, R:BASE processes conditions in the following order: all AND NOT followed by all AND OR, and all AND before all OR conditions.

SET AND OFF directs R:BASE to process conditions from left to right. The WHERE clause A AND B OR C AND D is evaluated as (((A AND B) OR C) AND D). SET AND ON directs R:BASE to give the operator AND precedence over OR. The WHERE clause A AND B OR C AND D is evaluated as ((A AND B) OR (C AND D)), which is a different result set.


 ANSI
 Operating Condition

Syntax: SET ANSI ON/OFF

Default: ON

Set ANSI off to restrict R:BASE to the list of reserved words shown in the table below. To change the default, save the setting to the RBASE.CFG file.

R:BASE reserved words with ANSI set off:

ABS	ACOS	AINT	ALL	AND	ANINT
ASIN	ATAN	ATAN2	AVERAGE	CHAR	CHKKEY
COS	COSH	COUNT	CTR	CTXT	CURRENT
CVAL	DATE	DATETIME	DEXTRACT	DIM	ENVVAL
EXP	FLOAT	FOR	FORMAT	FROM	FULL
FV1	FV2	GETKEY	HELP	ICAP1	ICAP2
ICHAR	IDAY	IDWK	IFEQ	IFGT	IFLT
IFRC	IHASH	IHR	IMIN	IMON	IN
INT	ISEC	ISTAT	IYR	JDATE	LAST
LASTKEY	LAVG	LIMIT	LIST	LJS	LMAX
LMIN	LOG	LOG10	LUC	MAXIMUM	MINIMUM
MOD	NEW	NEWPAGE	NEXT	NINT	NOT
OR	OUTER	PASSTAB	PMT1	PMT2	PROMPT
PROMPTS	PV1	PV2	RATE1	RATE2	RATE3
RDATE	RJS	RTIME	SFIL	SGET	SIGN
SIN	SINH	SLEN	SLOC	SMOVE	SPUT
SQRT	SRPL	SSUB	STDEV	STRIM	SUM
TAN	TANH	TDWK	TERM1	TERM2	TERM3
TEXT	TEXTRACT	TMON	UDF	ULC	UNNAMED
VARIABLE	VARIANCE	WHERE


 AUTOCOMMIT
 Operating Condition

Syntax: SET AUTOCOMMIT ON/OFF

Default: OFF

Mode: Transaction Processing

SET AUTOCOMMIT toggles AUTOCOMMIT processing on and off. When transaction processing and AUTOCOMMIT are on, each command that is executed successfully is immediately made permanent and visible to network users. If transaction processing is on and AUTOCOMMIT is off, you must enter a COMMIT command to make changes permanent. Also, leaving the database causes R:BASE to issue the COMMIT command.

When transaction processing is on and AUTOCOMMIT is off, you can enter a series of commands (a transaction) that change data or the database structure, then enter either a COMMIT or ROLLBACK command. COMMIT makes permanent all changes executed by commands in the transaction. ROLLBACK deletes all the changes, restoring the database to its state before the transaction began.

If you have started a transaction when you set AUTOCOMMIT on, R:BASE commits the transaction and turns AUTOCOMMIT on. You cannot open a cursor while AUTOCOMMIT is set on, and you cannot set AUTOCOMMIT on while a cursor is open.

AUTOCOMMIT can affect system performance. You can increase performance by setting AUTOCOMMIT to on when you do not need to enter commands in groups.


 AUTOSKIP
 Operating Condition

Syntax: SET AUTOSKIP ON/OFF

Default: OFF

Set AUTOSKIP on to move the cursor automatically to the next data-entry field in a form after filling the entire field. Specify off to press [Tab] after each entry. R:BASE stores the setting with the database.


 BELL
 Operating Condition

Syntax: SET BELL ON/OFF

Default: ON

Set BELL on to sound the bell when an error occurs. Specify off to suppress the bell. R:BASE stores the setting with the database.


 BLANK
 Special Character

Sets the character for spaces. The BLANK character is used to separate words in a command string.

Syntax: SET BLANK=NULL
Syntax: SET BLANK=char

(Use NULL to disable the special character.)

Default: (space)


 CAPTION
 Operating Condition

Syntax: SET CAPTION 'window title'

SET CAPTION specifies a title for an application or a command file. This title appears in the title bar when you run the application or command file.


 CASE
 Operating Condition

Syntax: SET CASE ON/OFF

Default: OFF

SET CASE sets the uppercase or lowercase distinction when a comparison is used with WHERE clauses, IF structures, WHILE loops, the TALLY command, and in the RULES command where comparisons are equal or not equal. R:BASE stores the setting with the database. If CASE is set off, both uppercase and lowercase text are displayed for a comparison regardless of how you enter the text. For example, if you enter "case", you could find "Case" and "CASE".


 CLEAR
 Operating Condition

Syntax: SET CLEAR ON/OFF

Default: ON

Mode: Single-user

SET CLEAR determines when R:BASE clears the internal buffers and transfers the data to disk.

When CLEAR is set on, the internal buffers are cleared and data is transferred to disk after each modification. Setting CLEAR on does not always make R:BASE automatically write each new or changed row to disk. For example, when you use a form, R:BASE writes the edits to disk when you finish using the form.

Set CLEAR off to write modified data to disk only when the buffer is full, a database is closed, or you exit R:BASE. If CLEAR is set off, repetitive modifications to a database can run faster, but you could lose all of your changes stored in the buffer if an accident, such as a fluctuation in power supply, occurs.

In multi-user mode, the CLEAR setting has no effect and always acts as though it is set on.


 COLOR
 Operating Condition

Syntax: SET COLOR

SET COLOR FOREGRND color

SET COLOR BACKGRND color

SET COLOR BACKGRND (redvalue, greenvalue, bluevalue)

You can specify foreground and background colors for the R> prompt window. To set colors using the "Colors Settings" dialog box, enter:

SET COLOR

You can also specify colors using the SET command. For example, to change the background color to cyan, enter:

SET COLOR BACKGRND cyan

You can even select a custom color for the background using a combination of red, blue, and green values. For example, to change the background to orange, enter:

SET COLOR BACKGRND (255, 128, 64)

Available Colors:

Foreground

Background


 CURRENCY
 Operating Condition

Syntax: SET CURRENCY $ PREF 2 B

SET CURRENCY sets the symbol, location, subunits, and format for currency values. R:BASE stores the setting with the database.

Changing the CURRENCY parameters affects all columns in the database that have a CURRENCY data type. You must enter the parameters in the following order: SYMBOL, PREF or SUFF, digits, and format; that is, even if you want to change the digits only, you must also enter the symbol and its position.

  Symbol (default $)--A symbol is any ASCII character or string of one to four characters. You can include a space in place of one character at the beginning or end of the string, but if you do, enclose the string in quotation marks.

  PREF and SUFF (default PREF)--Specify the position of the symbol as before (PREF) or after (SUFF) the currency value. In the SET CURRENCY command, enter a space between the symbol and its position, PREF or SUFF.

  Subunit digits (default 2)--Indicates the number of digits from 0 to 16 to be displayed in a currency subunit. In the case of dollars, the subunit is cents, so the digits setting for dollars is 2. For example, setting digits to 3 will display currency values similar to these:

20.000,000DM

20,000.000

2,000.000

If you change digits when the database contains data, the new digit setting affects how R:BASE displays and uses the data already entered. For example, if you change the setting from 2 to 4, an existing value such as 1,234.00 becomes 12.3400.

  Format (default B)--Format specifies how R:BASE displays the thousands and decimal delimiters. A, B, and C specify how the thousands and decimal delimiter displays for values with CURRENCY, REAL, and DOUBLE data types. Before you change the format, you must change the DELIMIT character.

Delimiter Conventions for CURRENCY, REAL, and DOUBLE Values

	Convention	Thousands Delimiter	Decimal Delimiter	Example
	A B C	. , (blank)	, . ,	123.456.793,01 123,456,793.01 123 456 793,01
For example, to display currency in two digits with a prefix of DM (deutsche marks) with the display format A, at the R> prompt, enter:

SET DELIMIT=!

SET CURRENCY DM PREF 2 A

This command displays 1,500 deutsche marks and 25 pfennigs in the format like this:

DM 1.500,25.

If you set CURRENCY to the delimiter formats A or C without changing DELIMIT to a character other than the comma--the default setting for DELIMIT--R:BASE displays the following message:

Decimal character cannot be the same as DELIMIT

In this case, use SET DELIMIT to change the delimiter to a less commonly used character such as an exclamation point; then set CURRENCY to the delimiter formats A or C.


 DATE
 Operating Condition

Syntax: SET DATE MM/DD/YY (date sequence and format)

SET DATE SEQ MMDDYY (date sequence)

SET DATE FOR MM/DD/YY (date format)

SET DATE sets the date sequence for entry, and format for display. A valid date can have up to 30 characters. R:BASE stores the setting with the database.

R:BASE accepts a date between January 1, 3999 BC and December 31, 9999 AD. You can set the date sequence and format separately. R:BASE displays the date based on the format. When setting the format to display numerals for the month, day, and year, use a separator such as the slash (/), hyphen (-), comma (,) or space (blank). For example, if you set the date format to MM/DD/YY and enter 061193, R:BASE displays 06/11/93.

You can also include text for the weekday and month in the date format to a maximum of 30 characters. Include WWW for a three-letter day abbreviation, WWW+ for the full day name, MMM for a three-letter month abbreviation, and MMM+ for the full month name. If the date format contains spaces or commas, enclose the format in quotes. For example, if the special character for QUOTES is set to the R:BASE default ('), the format 'MMM DD, YYYY CC' displays Jun 11, 1993 AD.

If you use YY in the date format, R:BASE displays only the last two digits of the year. To view dates in other centuries, use a date format with a four-digit year such as 'MM DD, YYYY'. If you use BC dates, add CC to the format. Dates entered with BC are shown with BC; otherwise, the date is shown with AD. For example, you could use the sequence MMDDYY and the format 'MMM DD, YYYY CC' to accept and display BC dates. If you enter '06 11 93BC,' R:BASE displays Jun 11, 0093 BC.

Example: Valid date formats, using June 11, 1993

	Date Format	Display
	'MMM+ DD' MM/YY 'WWW the DD' 'WWW+, MMM+ DD, YYYY CC'	June 11 06/93 Sun the 11 Sunday, June 11, 1993 AD
You can omit the SEQ and FOR keywords to set both sequence and format in a single SET DATE command. For example, enter SET DATE MM/DD/YYYY to set both date sequence and format to a four-digit year.

Enter the date in any form as long as the sequence of M's, D's, Y's, and C's are in the same order defined for the date sequence. The display, however, is always exactly as defined by the DATE format.

If, for example, you set the date sequence to a four-digit year with SET DATE SEQ MMDDYYYY, set the date format to a two-digit year with SET DATE FOR MM/DD/YY, and later enter a two-digit year, R:BASE will store and might display a date you do not expect. As the following table shows, if you enter 06/11/93, R:BASE stores the date as 06/11/0093 and displays 06/11/93.

How R:BASE stores and displays dates:

DATE Sequence	Date Entered	Date Stored	DATE Format  2-digit Year	DATE Format  4-digit Year
MMDDYYYY	6/11/94	06/11/0094	06/11/94	06/11/0094
MMDDYY	6/11/0094	06/11/1994	06/11/94	06/11/1994
MMYY	6/11	06/01/1994	06/01/94	06/11/1994
MMDD	6/11	06/11/1994	06/11/94	06/11/1994
DDYY	6/11	01/06/1911	01/06/11	01/06/1911
DDYY	11/94	01/11/1994	01/11/94	01/11/1994
If the sequence is set to a four-digit year and the format is set to a two-digit year, R:BASE stores the date you enter, such as 06/11/95, as a four-digit year. As a result, if you use a WHERE clause to display rows that have dates greater than 06/11/95, R:BASE returns all rows greater than 06/11/0095.

The DATE format can affect date functions. For best results, set the format to the default MM/DD/YY and then use a date function.


 DEBUG
 Operating Condition

Syntax: SET DEBUG ON/OFF

Default: OFF

You can use SET DEBUG as follows:

1  Precede any R:BASE command you want to control with the DEBUG modifier in a command file.

2  Set DEBUG on to have R:BASE run the command; set DEBUG off to have R:BASE ignore the command.


 DELIMIT
 Special Character

Separates a character, string, or items in a list used in commands. Also used to separate repeatable parts of a command.

Syntax: SET DELIMIT=NULL
Syntax: SET DELIMIT=char

(Use NULL to disable the special character.)

Default: ,


 ECHO
 Operating Condition

Syntax: SET ECHO ON/OFF

Default: OFF

SET ECHO displays or suppresses commands as they are processed from the current ASCII input device. Specify on or ECHO to display commands; specify ECHO off or NOECHO to turn off the command display.

Use SET ECHO as a debugging technique as you develop a command file. With ECHO set on, you can see the commands as they are processed when you run a command file. SET ECHO works only when the command file is an ASCII file; it will not display commands that were run from a binary procedure file.

Enter a SET ECHO ON command at the beginning of the program. Then, when the program runs, R:BASE displays each command as it is interpreted and, if needed, runs it. Sometimes the commands scroll on the screen faster than you can read, especially if they are read by R:BASE but not run. You can temporarily stop the display by pressing [Ctrl]+[Break], which stops the file from running, and restart it by pressing [Enter], or stop completely by pressing [Esc]. Set ECHO off to suppress command display.

Even more useful, you can direct output to a printer or a file before you set ECHO to on. Then, when the command file runs, the commands and any errors are saved either in printed form or in a file you can look at.

When R:BASE runs the commands below in an ASCII file, you see the commands on lines two, three, and four displayed at the top of the screen and the message displayed on line 10 beginning at column 20.

CLS

SET ECHO ON

WRITE 'This is a message' at 10 20

SET ECHO OFF


 ERROR MESSAGES
 Operating Condition

Syntax: SET ERROR MESSAGES ON/OFF

Default: ON

SET ERROR MESSAGES displays or suppresses an error message when a system error occurs. Specify off to suppress error and rule violation messages.


 ERROR VARIABLE
 Operating Condition

Syntax: SET ERROR VARIABLE varname

SET ERROR VARIABLE ON/OFF

SET ERROR VARIABLE defines an error variable to hold error message numbers. The variable name (varname) defines the variable R:BASE uses to hold R:BASE error codes. If set to off (the default), error variable processing is removed.

When an error occurs in a command file, R:BASE normally displays a system error message. SET ERROR enables a programmer to anticipate errors in command and procedure files and program the file to keep running even when an error occurs.

You must always set ERROR VARIABLE off, rather than clearing it with the CLEAR VARIABLES command.

R:BASE resets the error variable to zero as each command is successfully run. If an error occurs, the error variable is set to the error number value. To determine the error condition for any line, you must immediately check the value of the error variable or capture the error value in a global variable for later examination.

By checking the error variable for a non-zero value, you can detect (or trap) many errors and run a sequence of error-handling commands such as an error-recovery procedure. Once the error number is captured in an error variable, you can write error-handling command files to control a program's flow based on these errors (error values).

The error variable value is set for each command that is run, not each line in a command file. If you have placed multiple commands on a line, the last command's error value is placed in the error variable. A similar situation occurs for multi-line commands such as the subcommands you can use when loading a data block with the LOAD command. For example, a data block loaded with the LOAD command leaves the error variable with a value of zero because the END command runs successfully, whether or not the data is actually loaded.

Rule violations do not set the error variable to a non-zero value; they are not the same as errors recognized by R:BASE.

The command below defines errvar as the current error variable:

SET ERROR VARIABLE errvar

When a command is run, R:BASE sets the error variable errvar to the error code before anything else happens. The following command lines illustrate how to use errvar in a command file.

LABEL tryagain
FILLIN vdbname USING 'Enter the database name: '
CONNECT .vdbname
IF errvar <> 0 THEN
   WRITE 'Database not found.'
      GOTO tryagain
ENDIF

The first command establishes a label to return to, the second requests that the user enter the name of a database, and the third opens the specified database using the global variable defined by the FILLIN command.

The IF...ENDIF structure checks the error variable value. If the value is not zero (that is, if the database was not opened successfully), then it sends a message to the screen and passes control to the label tryagain so that the user is asked to enter the database name again.

You can also write a separate command file specifically designed to handle a variety of errors. In this case, the above code might look like this:

FILLIN vdbname USING 'Enter the database name: '
CONNECT .vdbname
SET VARIABLE verr1 = .errvar
IF verr1 <> 0 THEN
       RUN errhandl.cmd USING .verr1
ENDIF

This series of commands captures the error value in the global variable verr1 so that it can be passed through the USING clause of the RUN command to an error-handling routine. The routine itself determines the nature of the error and how to take care of the problem.

You can use the WHENEVER command to run status-checking routines for SQL commands. WHENEVER uses the special R:BASE variable SQLCODE. For more information about SQLCODE, refer to the "Variables" entry in the Reference Manual.


 ESCAPE
 Operating Condition

Syntax: SET ESCAPE ON/OFF

Default: ON

SET ESCAPE allows you to use [Ctrl]+[Break] to escape or abort command file processing or database file access. Specify on to enable users to abort processing in the middle of command files, WHILE loops, and database access. Specify off to prevent users from prematurely aborting a command file or an application such as when R:BASE runs processes that create new tables (such as the relational commands) from within a command.


 FASTFK
 Operating Condition

SET FASTFK ON/OFF

Default: OFF

This setting, when on, permits R:BASE to operate a foreign key index using a condensed index for maintaining that foreign key. If the foreign key is not used for retrieving data or linking columns, a complete index is unnecessary and actually inhibits speed. When set to on, R:BASE creates a condensed index for any existing foreign keys.

To switch to condensed indexes on existing foreign keys, you need to run a PACK, PACK KEYS, or RELOAD command with FASTFK on; these actions cause R:BASE to rebuild the database with condensed foreign key indexes.

Keep in mind, however, that you might need complete indexes on foreign keys where such indexes are needed for retrieving data. Retaining a separate index on columns used in foreign keys that link tables is preferred. Indexes are also needed on foreign keys that you use for selecting column values; therefore, use the CREATE INDEX command to explicitly create indexes for columns used in foreign keys in a database where FASTFK is set on.

The command SHOW FASTFK displays the FASTFK state and whether FASTFK is operational in the current database. For example:

SHOW FASTFK

(FASTFK ) ON Use fast Foreign Key (FK) structures on rebuild.

OFF FASTFK setting for current database

Once you rebuild the keys in a database with the FASTFK setting on, SHOW FASTFK displays the following:

SHOW FASTFK

(FASTFK ) ON Use fast Foreign Key (FK) structures on rebuild

ON FASTFK setting for current database


 FASTLOCK
 Operating Condition

Syntax: SET FASTLOCK ON/OFF

Mode: Multi-user and STATICDB

Set FASTLOCK on for faster multi-user performance while modifying data. With FASTLOCK on, R:BASE does not place a table lock on the table, allowing for greater throughput. A table lock is only needed to prevent structure changes.

FASTLOCK can only be set on when STATICDB is set on, and both FASTLOCK and STATICDB must be set on before the database is connected. Like other R:BASE database modes (SET MULTI and SET STATICDB), FASTLOCK requires all users to be connected with the same setting.

The following command lines set STATICDB and FASTLOCK correctly.

SET STATICDB ON

SET FASTLOCK ON

CONNECT concomp


 FEEDBACK
 Operating Condition

Syntax: SET FEEDBACK ON/OFF

Default: OFF

This setting displays processing results when either calculating or editing rows. With this setting on, R:BASE displays the number of rows processed and the elapsed time to completion in the status bar. Displays occur while in the Data Browser, when printing reports and labels, and when using certain R:BASE commands.


 FILES
 Operating Condition

Syntax: SET FILES value

Range: 1 to 255 files

Default: 5

SET FILES sets the maximum number of files that can be open at a time. The maximum, depending on available memory, is 255.


 FONT
 Operating Condition

Syntax: SET FONT keyword

Default: OEM

The FONT setting changes the font used in the "R> Prompt" window.

You can choose from three settings, which are mono-spaced stock fonts used in Windows:

  System--fonts compatible with the system font in Windows

  OEM--an IBM PC character set for IBM computers

  Ansi--a fixed-pitch font based on the Windows character set. A Courier font is typically used.


 HEADINGS
 Operating Condition

Syntax: SET HEADINGS ON/OFF

Default: ON

SET HEADINGS displays columns with or without headings when you enter the SELECT and TALLY commands.


 INSERT
 Operating Condition

Syntax: SET INSERT ON/OFF

Default: ON

SET INSERT turns insert/overwrite on or off. Set INSERT on to use either the insert or overwrite mode. Pressing [Ins] when you have specified INSERT to be on toggles you between insert mode and overwrite mode. In insert mode, the cursor indicator is larger. Press the space bar to insert a space. Set INSERT off to use only the overwrite mode; the cursor indicator is smaller.


 INTERVAL
 Operating Condition

Syntax: SET INTERVAL value

Default: 5

Range: 0 to 9 tenths of a second

Mode: Multi-user

The SET INTERVAL command specifies the time to elapse before R:BASE retries the command that caused a conflict within the waiting period (see SET WAIT).


 KEYMAP
 Operating Condition

Syntax: SET KEYMAP keyname OFF

SET KEYMAP keyname=remapped keys

You can define key maps with a single statement, which is similar to defining key maps using the Define a Keymap option from the Utilities menu. This enables you to define key maps in command files. For example:

SET KEYMAP [SHIFT][F3] TO [F2]

SET KEYMAP [ALT]M= [F2]

To return to the original key mapping, enter the following:

SET KEYMAP [ALT]M OFF


 LAYOUT
 Operating Condition

Syntax: SET LAYOUT ON/OFF

Default: ON

SET LAYOUT switches saving layouts on or off. When LAYOUT is set on, R:BASE saves the layout of data displayed in the Data Browser when you exit. R:BASE saves layouts for single tables only. The next time you display the table with the Data Browser, the layout of data will be as you previously arranged it.

When LAYOUT is set off, R:BASE does not save the layout of data and ignores any saved layouts. If you want to see a table displayed in its default format without changing the saved layout for it, set LAYOUT off before displaying the table.


 LINEEND
 Special Character

Syntax: SET LINEEND value

Default: [Alt] + [0254]

You can set an end of line ASCII character for NOTE and TEXT fields in forms, reports and the Data Browser. When you insert the character in those fields and then zoom in by pressing [SHIFT]+[F2] or print a report, you see lines break as established by the line end character. The default character is ASCII value 0254.

Note: If the line end character has been set to the currency character, R:BASE changes it to ASCII value 0254 when you connect to a database.


 LINES
 Operating Condition

Syntax: SET LINES value

Range: 0 to 32,767 lines

Default: 20

SET LINES sets the number of lines per page or screen when you use the CROSSTAB, DISPLAY, DIR, LIST, OUTPUT, SELECT, LIST RULES, SHOW VARIABLES, TALLY, or TYPE commands. LINES does not affect report generation; you can define the number of lines on a page for each report. Setting LINES to zero displays lines as continuous output.


 LOCK
 Operating Condition

Syntax: SET LOCK tbllist ON/OFF

Default: OFF

Mode: Multi-user

SET LOCK manually sets locks on or removes locks from tables specified in the list of tables (tbllist). Use the command whenever you want a procedure or transaction to have exclusive use of tables. Setting LOCK to off disables locks for each of the tables in tbllist.

In command or procedure files it is sometimes necessary to prevent access to a table or group of tables while certain operations are performed. Although R:BASE handles most locks automatically according to the command that is running, at times you might want more control over table locking. SET LOCK provides you explicit control over access to tables during processing by the commands that retrieve and update data.

If R:BASE cannot lock all the tables listed after SET LOCK, it issues a message saying that not all tables are available to be locked. R:BASE does not lock any tables unless it can lock all tables listed, and it sets an error code when SET LOCK fails.

Group the tables used into one SET LOCK command to avoid tying up needed resources. Be sure to issue the SET LOCK OFF command to remove the locks after processing is complete.

Locks set with this command are cumulative. You need to issue one SET LOCK OFF command for each SET LOCK ON command that you have entered for a given table. The user who set the table locks must issue SET LOCK OFF; otherwise no other user can access the locked tables until the first user exits the database.

LIST displays locked tables in reverse video. With LIST TABLE, on the other hand, the type of multi-user locks is displayed. Only the highest priority lock is displayed for each table.

LIST TABLE tells you whether the lock is an edit, row, cursor, local, or remote lock. Edit, row, and cursor locks are set by R:BASE as part of its internal concurrency control. A local lock is set by a SET LOCK command issued at the workstation that issued the LIST TABLE command. And a remote lock is set by a command that obtains a table lock and is issued from a workstation other than the workstation that issued the LIST TABLE command.

The first command line below sets an exclusive lock on the customer table. The second command line sets additional exclusive locks on the transmaster and transdetail tables. These exclusive locks prevent access to the three tables by any user other than the one who issued the SET LOCK ON commands. The SET LOCK OFF command removes the locks on all three tables.

SET LOCK customer ON

SET LOCK transmaster, transdetail ON

SET LOCK customer, transmaster, transdetail OFF


 LOOKUP
 Operating Condition

Syntax: SET LOOKUP value

Default: 5

SET LOOKUP tells R:BASE how many form look-up expressions to store in memory. Storing a look-up expression in memory enables R:BASE to display data more quickly in a form. The number of look-up expressions you can specify depends on the memory available in your computer. R:BASE needs approximately 500 bytes of RAM for each look-up expression. SET LOOKUP does not affect master look-up expressions or pop-up menus in a form.

For example, when your form contains 10 look-up expressions and LOOKUP is set to 5, only the first five look-up expressions are stored in memory. R:BASE must retrieve/reevaluate the remaining look-up expressions. So that the form works faster, you can set LOOKUP to a higher value to store more look-up expressions in memory.


 MANOPT
 Operating Condition

Syntax: SET MANOPT ON/OFF

Default: OFF

MANOPT disables the automatic table-order optimization that R:BASE performs when running queries. This gives maximum control over the order in which columns and tables are assembled in response to a query. With MANOPT on, R:BASE uses the order of the tables in the FROM clause and the order of the columns in the column list of the SELECT clause to construct the query.


 MANY
 Special Character

Sets the character for the many wildcard for R:BASE commands and clauses.

Syntax: SET MANY=NULL
Syntax: SET MANY=char

(Use NULL to disable the special character.)

Default: %


 MAXTRANS
 Operating Condition

Syntax: SET MAXTRANS value

Range: 1 to 255

Default: 10

Mode: Transaction Processing

SET MAXTRANS specifies the maximum number of users who can have the same database open concurrently with transaction processing on.

Only the first user to connect to a closed database can enter the MAXTRANS setting for that database. Enter the command before connecting to the database. If anyone else already has the database open, R:BASE displays a message telling you that your SET MAXTRANS command will have no effect on the database.

MAXTRANS can affect system performance. The higher the MAXTRANS setting, the more overhead the system must carry to process transactions across the network. Also, the more users who are actually entering transactions, the slower the system operates.


 MESSAGES
 Operating Condition

Syntax: SET MESSAGES ON/OFF

Default: ON

SET MESSAGES either displays or suppresses system messages. Set MESSAGES to off when ERROR is set on to display only error messages.


 MULTI
 Operating Condition

Syntax: SET MULTI ON/OFF

Default: OFF

SET MULTI sets multi-user capability on or off when you next connect a database. This setting must be used while you are disconnected from a database.


 NAME
 Operating Condition

Syntax: SET NAME network identification

Default: USER************** (USER and 14 numerals for date and time)

Mode: Multi-user

SET NAME specifies a network identification for your system when you start R:BASE. R:BASE loads the information into the SERVER.RBG file when you start R:BASE. NAME is text and can contain spaces.

NAME must be saved to the RBASE.CFG file.


 NOTE_PAD
 Operating Condition

Syntax: SET NOTE_PAD

Range: 0 to 100 (percent)

Default: 10

This setting allocates an additional percentage of storage space in NOTE columns to accommodate value increases (additional text), so that rows don't need to move to different disk locations. This increases performance by reducing disk reading.

The default setting is 10% of the row size, and can be set from 0 to 100%. Setting NOTE_PAD to 0% disables padding.


 NULL
 Special Character

Syntax: SET NULL -0- (1 to 4 characters)

Default: -0-

SET NULL sets the display symbol for null. You can use up to four characters. If you set null to a blank space, R:BASE does not display rows composed entirely of nulls with the SELECT command.R:BASE stores the setting with the database.

If you enter the following command, R:BASE displays a slash in the absence of data:

SET NULL /


 PAGEMODE
 Operating Condition

Syntax: SET PAGEMODE ON/OFF

Default: OFF

Mode: Single- or Multi-user

Use PAGEMODE to design reports through a custom R:BASE program. With PAGEMODE on, you create a page of a report in memory, then send the report to a printer or file. PAGEMODE is an alternative method to creating reports through the Report Designer; the two methods work in different ways.

The WRITE, SHOW VARIABLE, and SELECT commands are used to "display" data on a virtual page. To determine the row location of the cursor on the virtual page, use the ISTAT function with the keyword PAGEROW after a SHOW VARIABLE command. (ISTAT('pagerow') does not work with the WRITE command.) The DECLARE CURSOR command is usually used for retrieving data for printing. You control form feeds (new pages) in your program by using the NEWPAGE or OUTPUT SCREEN command.

At the beginning of your program, set PAGEMODE to on, then set both SET LINES and SET WIDTH to accommodate the report's size. You cannot write to a line longer than the current LINES setting or wider than the current WIDTH setting.

To send printer control codes to a printer, use the CHAR function to define a variable containing the printer control codes. Then, that variable is sent to the printer using the SHOW VARIABLE or WRITE command. For example,

SET VARIABLE vLandscape = (CHAR(27) + CHAR+

(38) + CHAR(108) + CHAR+

(49) + CHAR(79))

WRITE .vLandscape

The printer control codes can be found in the user's manual for your printer.

PAGEMODE allows you to:

  Create reports wider than 255 columns and longer than 84 lines.

  Produce multi-column reports.

  Design different styles for the pages of the report, such as a report with a personalized letter as the first page.

  Create reports from tables with many-to-many relationships that have two or more detail sections.

  Format odd and even pages differently throughout a report.

  Print headers and footers only on the last page or first page.

  Customize reports so break headers and footers are located on the same page.

  Place a different break header on every page or the same break header on every page.

The following command line sets PAGEMODE on:

SET PAGEMODE ON

See also

PAGEMODE


 PASSTHROUGH
 Operating Condition

Syntax: SET PASSTHROUGH ON/OFF

Default: OFF

When PASSTHROUGH is set on, SELECT statements are sent directly to the foreign data source and are not processed by R:BASE. Set PASSTHROUGH on when you use special syntax, such as non-SQL syntax, or syntax that is not supported by R:BASE.


 PLUS
 Special Character

Sets the character for the command line continuation character.

Syntax: SET PLUS=NULL
Syntax: SET PLUS=char

(Use NULL to disable the special character.)

Default: +


 QUALCOLS
 Operating Condition

Syntax: SET QUALCOLS (2 or 10)

Mode: Multi-user

Default: 10

Use QUALCOLS to choose page or row locking. The settings for QUALCOLS are:

2	R:BASE uses a fast row-locking method. When QUALCOLS is set to 2, you can lock rows of data instead of locking a page of data. You increase multi-user performance when QUALCOLS is set to 2 and STATICDB and FASTLOCK are on.
10	R:BASE uses page locking. When QUALCOLS is set to 10 and two or more users are updating rows within the same page of data, R:BASE only lets the first user update rows--the other users are locked out until the first user's update has been completed.
Note: QUALCOLS is not the same as SET ROWLOCKS. ROWLOCKS and QUALCOLS can be set on at the same time.

The following command line sets QUALCOLS to 2:

SET QUALCOLS 2


 QUOTES
 Special Character

Sets the character for quotation marks.This character is used around all text strings.

Syntax: SET QUOTES=NULL
Syntax: SET QUOTES=char

(Use NULL to disable the special character.)

Default: '


 REFRESH
 Operating Condition

Syntax: SET REFRESH value

Range: 10 to 65535 seconds

Default: 0

Mode: Multi-user

SET REFRESH specifies how often R:BASE refreshes the form or the Data Browser, and displays current data. It also automatically recalculates lower tables in forms. Specify zero to turn the setting off. When REFRESH is set off, R:BASE tells you of edits when you save or delete a row.


 REVERSE
 Operating Condition

Syntax: SET REVERSE ON/OFF

Default: ON

SET REVERSE ON displays data-entry fields in reverse video in forms. R:BASE stores the setting with the database.


 ROWLOCKS
 Operating Condition

Syntax: SET ROWLOCKS ON/OFF

Default: ON

Mode: Multi-user

R:BASE uses row-level locking in a multi-user environment. This command causes R:BASE to lock only the required row for the current command instead of locking the entire table. For example, if multiple users are modifying the same table using the UPDATE command, R:BASE locks only the rows affected by each UPDATE. When ROWLOCKS is set off, R:BASE sets table locks during each UPDATE, regardless of how many rows are affected.

For more information about table locks, refer to the "Multi-user Mode" entry in the Reference Manual.


 RULES
 Operating Condition

Syntax: SET RULES ON/OFF

Default: ON

SET RULES determines whether R:BASE checks data against all existing rules during data entry and modification when you use the EDIT, EDIT USING, ENTER, INSERT, LOAD, or UPDATE commands, or the import/export utility.

Set RULES off to direct R:BASE to ignore all rules when rules are not defined for a table, you are archiving data, or you are transferring data into another database. This speeds up processing because R:BASE normally checks the SYS_RULES table even if no rules are defined for a table. R:BASE does, however, check each entry against the data type of the column regardless of the RULES setting. If the database is protected by a database owner's user identifier, R:BASE does not accept the SET RULES command until you enter the owner's user identifier.


 SCRATCH
 Operating Condition

Syntax: SET SCRATCH ON/OFF

Default: ON

SET SCRATCH sets the drive and directory location for temporary files created when sorting data. Set SCRATCH on to store temporary sort files on the database drive and directory; set SCRATCH off to store files on the current drive and directory.


 SELMARGIN
 Operating Condition

Syntax: SET SELMARGIN value

Range: 0 to the width of your screen

Default: 0

Use SELMARGIN to set the left margin for displaying the results of a SELECT command.

The default for SELMARGIN is 0 (zero), which sets the margin to column 2. Use SELMARGIN when an ASCII file requires a predefined position or when data has a required starting point.

Note: Setting SELMARGIN to 0 (zero) or 2 begins the left margin at column two.


 SEMI
 Operating Condition

Syntax: SET SEMI ON/OFF

Default: OFF

Use SEMI to set the semicolon (;) key as the command terminator instead of the [Enter] key.

When SEMI is set on, you can enter multiple command lines without a continuation symbol. Also, the semicolon runs commands created for other SQL databases, such as SQL Server.

Note: When SEMI is set on, all commands, including EXIT, must be followed with a semicolon. The following command line sets SEMI off:

SET SEMI OFF;


 SEMI
 Special Character

Sets the character for the command separator.

Syntax: SET SEMI=NULL
Syntax: SET SEMI=char

(Use NULL to disable the special character.)

Default: ;


 SINGLE
 Special Character

Sets the character for the single wildcard for R:BASE commands and clauses.

Syntax: SET SINGLE=NULL
Syntax: SET SINGLE=char

(Use NULL to disable the special character.)

Default: _


 SORT
 Operating Condition

Syntax: SET SORT ON/OFF

Default: OFF

SET SORT sets the sort optimizer on or off. When set on, R:BASE sorts the minimal amount of data for large tables and recombines the sorted data with the unsorted rows using the minimum amount of disk space. Set SORT on when a sort fails.


 SORTMENU
 Operating Condition

Syntax: SET SORTMENU ON/OFF

Default: ON

SORTMENU causes all data dictionary menus to be in alphabetical ascending order, including all pop-up menus that display tables, forms, views, labels, and reports. Menus with column names and values remain unsorted in their original order.


 STATICDB
 Operating Condition

Syntax: SET STATICDB ON/OFF

Default: OFF

Activates a read-only schema mode. A user who first connects to a database with STATICDB set to on engages that database to operate in a read-only schema mode whereby any user must have their STATICDB setting on in order to connect to that database.

The effect of having STATICDB set on is that no schema changes can occur during that connection session.


 TIME
 Operating Condition

Syntax: SET TIME SEQ HHMMSS (time sequence)

SET TIME FOR HH:MM:SS.SSS (time format)

SET TIME sets the time entry sequence and output format, using up to 20 characters. Set TIME entry sequence and display format in separate commands. Use H to specify hours, M for minutes, S for seconds, and .SSS = thousandths. TIME can be specified of up to thousandths of a second. R:BASE stores the setting with the database.

The keyword SEQ (sequence) sets the entry sequence such as HHMMSS while the keyword FOR (format) sets the display format. For example, the format HH:MM:SS can display 14:30:20. R:BASE displays midnight (24:00) as 0:00. You can also include AP to display time on a 12-hour clock. In the previous example, if you change the format to HH:MM:SS AP, R:BASE displays 2:30:20 PM. If the format contains spaces or commas, enclose the format in quotes. Enter the hours, minutes, and seconds in the order SEQ specifies.

Example: Valid Time Formats using two thirty and twenty seconds, p.m.

	Time Format	Displays
	HH:MM:SS HH:MM:SS AP HH/MM/SS HH-MM-SS AP	14:30:20 2:30:20 PM 14/30/20 2-30-20 PM

TIME can affect time functions. For best results, first set TIME to the default HH:MM:SS and then use the time functions.


 TIMEOUT
 Operating Condition

Syntax: SET TIMEOUT value

Range: 0 to 1440

Default: 0

Use TIMEOUT to shut down an inactive R:BASE workstation and exit to Windows after a set amount of time passes. A countdown only begins when R:BASE is waiting for a keystroke--not while R:BASE is processing commands or while you are entering data.

The default for TIMEOUT is 0 (zero), which does not activate a countdown. TIMEOUT is set in minutes (not seconds), and all workstations must set TIMEOUT separately.

When a TIMEOUT occurs, a command file can be run; however, the command file cannot include a FILLIN or DIALOG command, or expect a keystroke. If you want to run a command file when a TIMEOUT occurs, you need to store the name of the file in a variable called MICRORIM_TIMEOUT. For example:

SET VARIABLE MICRORIM_TIMEOUT TEXT = 'c:\word\cleanup.rmd'

Note: The command file must end with a RETURN command.

The following command line will exit a user to Windows after the user's workstation is inactive for one hour:

SET TIMEOUT 60


 TOLERANCE
 Operating Condition

Syntax: SET TOLERANCE value

Default: 0

SET TOLERANCE sets the tolerance for comparisons between numbers with REAL and DOUBLE data types. The default tolerance of 0 means that the match must be exact to six digits of accuracy for REAL numbers and to 15 digits of accuracy for DOUBLE numbers. R:BASE stores the setting with the database.

The following command specifies a tolerance of .1 when testing column values. If the tolerance is .1 and the WHERE clause specifies colname = 100, then values between 99.9 and 100.1 are valid. If you set the tolerance to one, the values between 99 and 101 are valid.

SET TOLERANCE .1


 TRANSACT
 Operating Condition

Syntax: SET TRANSACT ON/OFF
SET TRANS ON/OFF

Default: OFF

Mode: Transaction Processing

SET TRANSACT toggles transaction processing on and off. When transaction processing is set on and AUTOCOMMIT is set off, all commands entered after one COMMIT or ROLLBACK command until the next comprise a transaction. The commands in a transaction are executed as they are entered, but changes to the data and database structure are not made permanent until you enter COMMIT (or exit the database). You can undo all changes in the transaction by entering ROLLBACK.

When transaction processing is on and AUTOCOMMIT is also on, each command that is executed successfully is treated as a transaction and made permanent. ROLLBACK has no effect when AUTOCOMMIT is on.

Only the first user to connect to a closed database can enter the TRANSACT setting for that database. Enter the command before connecting to the database. If anyone else already has the database open, R:BASE displays a message telling you that your TRANSACT setting must match that of the open database  before you can connect. Transaction processing is either on for all users or off for all users in a given database.


 USERAPP
 Operating Condition

Syntax: SET USERAPP extensions

You can specify which files display in the Object Manager after you click the Apps tab. Your choices are saved in the RBASE.CFG file. You can specify a maximum of three extensions.

The following command displays all files with .APP, .CMD, and .RMD extensions in the Object Manager.

SET USERAPP *.app, *.cmd, *.rmd


 VERIFY
 Operating Condition

Syntax: SET VERIFY COLUMN/ROW

Default: COLUMN

SET VERIFY, used in the multi-user environment, specifies the level of concurrency control as a row or a column within a row.

SET VERIFY allows you to specify whether R:BASE concurrency control will apply to individual columns within a row or to all columns in the row. When the level of concurrency control is set to COLUMN, R:BASE checks only the columns you change while you are editing. When the level of concurrency control is set to ROW, if you change data in any column, R:BASE checks every column in the row.

R:BASE concurrency control operates automatically when you are using a form in multi-user environments. Concurrency control includes autorefresh and verification. When you refresh or try to save a row, R:BASE checks whether data has been changed by another user and alerts you if it has changed. This prevents simultaneous changes that could corrupt the integrity of your data. The SET VERIFY command affects the operation of both autorefresh and verification when you are using a form.

When concurrency control is set to COLUMN, R:BASE looks for conflicts, those instances when two users have both modified the same column. When R:BASE detects a conflict in at least one field:

  R:BASE displays all of the other user's changes in the appropriate fields.

  Where there is no conflict, changes you made continue to be displayed.

  R:BASE displays a message informing you that data has changed.

When concurrency control is set to ROW, R:BASE looks for a change to any column in the whole row, whether it is a conflict or not. When R:BASE detects a change:

  R:BASE displays all of the other user's changes in the appropriate fields.

  Where there is no conflict, changes you made to the data are discarded.

  R:BASE displays a message informing you that data has changed.

Whether concurrency control is set to COLUMN or ROW, you can review the changes and then continue editing the data in the form. After autorefresh, R:BASE prompts you to press any key to continue editing. After verification, you can either move on to your next task or edit the data again. If you choose to move on when the level of concurrency control is set to COLUMN, you will be discarding any changes you made that are still displayed. R:BASE prompts you to press [Esc] if you want to move on, or to press [Enter] if you want to edit the displayed data.

When you edit data in a form, concurrency control is always enforced.

When you enter data in a form, concurrency control is enforced only when you are entering values in fields defined with a same-table look-up, or when you return to a row in a region that you had entered previously.

The first command line in the following example sets the level of concurrency control to check for changes in the entire row. The second command line starts an editing session using the form named custform.

SET VERIFY ROW

EDIT USING custform


 WAIT
 Operating Condition

Syntax: SET WAIT value

Range: 0 to 16383 seconds

Default: 4

Mode: Multi-user

SET WAIT sets the minimum number of seconds to retry the last requested resource (a table or database) before halting execution. Rather than aborting execution, SET WAIT allows you to set a length of time for R:BASE to keep trying to access a resource. A message is displayed showing the approximate percentage of wait time remaining.

If you do not run a SET WAIT command, R:BASE automatically retries the locked resource for approximately four seconds before issuing a retry message.

For commands that wait for resources, the precise period of the wait is at least as long as the time specified. On some computers, processing requirements may extend the length of the wait to longer than one second for each second designated.

When you enter a command from the R> prompt and the waiting period expires, R:BASE displays a message prompting you to retry or ignore the command. When the command runs as part of a command file, however, and the waiting period expires, R:BASE ignores the command and goes on to the next command.

The following command tells R:BASE to retry the last requested resource for approximately 20 seconds.

SET WAIT 20

You can also adjust the interval in which R:BASE tries the command during the SET WAIT period. See SET INTERVAL.


 WHILEOPT
 Operating Condition

Syntax: SET WHILEOPT ON/OFF

Default: ON

SET WHILEOPT improves the optimization and processing of WHILE ...ENDWHILE loops within applications by pre-compiling variables used within the WHILE loop. Follow these guidelines:

  Don't clear your WHILE variable(s).

  Don't define variables within your WHILE loop, only outside the loop; values can change within the loop.

  Adhere to the syntax rules for the SWITCH statement by making sure that the argument for the SWITCH statement is an expression.

  If you issue multiple SET VARIABLE commands on a single command line, those variables will not be optimized. If you want to increase the speed for that loop, put those SET VARIABLE commands on separate lines.

The WHILEOPT setting must be changed in a command file. The setting cannot be saved to the RBASE.CFG file.


 WIDTH
 Operating Condition

Syntax: SET WIDTH value

Range: 40 to 5000 characters

Default: 79

SET WIDTH controls the width of a data line that R:BASE directs to the printer, screen, or file when using the BACKUP, COMPUTE, CROSSTAB, DISPLAY, SELECT, TYPE, UNLOAD, or WRITE commands. Do not set the width to a number greater than the number of characters your printer can fit on a line; a typical page and computer screen display 80 characters. WIDTH does not affect report generation; each report defines the width of a data line.

Note: The 5000-character maximum does not apply to the TYPE or DISPLAY commands, which continue to have 256-character width limits.


 WRAP
 Operating Condition

Syntax: SET WRAP ON/OFF

Default: ON

Text in fields that have NOTE and TEXT data types will wrap in forms and FILLIN windows, variables, and reports.


 ZERO
 Operating Condition

Syntax: SET ZERO ON/OFF

Default: OFF

SET ZERO allows a null to be treated as a zero in a mathematical expression involving INTEGER, NUMERIC, REAL, DOUBLE, CURRENCY, DATE, DATETIME, or TIME data types. With ZERO set on, R:BASE returns a negative number when you subtract an integer from a null. With ZERO set off, the same computation results in a null. R:BASE stores the setting with the database.


Syntax


	Reading Command Syntax
Parts of the diagram

Finding out what the options do


	Descriptions of Syntax Options
In any syntax diagram, you can find out

what a keyword or argument means by clicking on it.


	Parts of the Syntax Diagram
	Keywords	What is...	Required
	Arguments		Optional
			Repeatable
Click on any part of this diagram--words or lines--for a description.


Keywords

Keywords, which are uppercase, tell R:BASE what to do.


Arguments

Arguments, which are lowercase, represent specific information that you provide, such as a table name.


Repeatable

An arrow in a command syntax indicates what portion of the command can be repeated. Each part of the command that is repeated must be separated with a comma, or the current delimiter character.


Ellipses

Ellipses indicate that the syntax continues to the next line.


Brackets

If you have a choice of keyword or argument to use, the choices are enclosed in brackets.


Main line

This is the main line of the syntax. Any keywords or arguments on the main line are required.


Below the main line

This part of the syntax is below the main line and is therefore optional.


Keywords

Keywords, which are uppercase, tell R:BASE what to do.

R:BASE reserves some keywords for its use--do not use those keywords for column, table, view, variable, form, or report names. For more information, refer to the "Reserved Words" entry in the Reference Manual.


Arguments

Arguments, which are lowercase, represent some specific information you enter in a command. For example, if you see tblname in a syntax diagram, enter the name of a specific table from your database.


Required parts of the syntax

Required parts of the command are on the main line of the syntax.

In this syntax example, the brackets are also on the main line, therefore the syntax requires you to make a choice from the keywords and arguments.


Optional parts of the syntax

The optional portion of a command appears below the main line.


Repeatable parts of the syntax

An arrow in a command syntax indicates what portion of the command can be repeated. Each part of the command that is repeated must be separated with a comma, or the current delimiter character.


	ALTER TABLE Short name: ALT TAB
Use the ALTER TABLE command to modify an existing table.


ADD

Specifies the column and its definition, or a table constraint to add.


<TABLE CONSTRAINT>

See the syntax below.


ALTER

Modifies a column definition.


<COLUMN DEFINITION>

See the syntax below.


colname

Specifies a 1 to 18 character column name.


conname

Specifies a constraint name.


DROP DEFAULT

Removes a column's default value.


SET DEFAULT

Changes a column's default value.


TO <COLUMN DEFINITION>

See the syntax below.


datatype

Specifies an R:BASE data type.


DEFAULT

Specifies a default value for the column if no value is provided by the user.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


NOT NULL

Prevents a column from accepting null values, but permits it to accept duplicate values.

If this option is specified without a setting for a default value, you cannot insert rows without specifying values for the given column.


(size)

Defines the length of a column of either the CHARACTER data type (if not the default 1) or TEXT data type (if not the default 8). Defines the precision and scale of a column of the DECIMAL or NUMERIC data type, if not the default of precision 9 and scale 0 (9,0). VARBIT, VARCHAR, and BIT either require or can have a size.


COLUMN

Specifies the column to add, drop, or alter.


DROP

Removes a column or a constraint. A column, including both its structure and data, is removed from the table. Dropping a constraint removes a primary key, foreign key, unique key, or a not-null constraint.


DROP CONSTRAINT

Removes a constraint.


REFERENCES

Identifies the primary key or unique key table to which the foreign key refers.


(collist)

Specifies a list of one or more column names, separated by a comma (or the current delimiter), used in the unique key specification. This option is only used when referencing a unique key.


(collist)

If (collist) comprises one column, this option is equivalent to UNIQUE. If two or more columns are included in (collist), the values in the listed columns must be unique as a group in each row. Only columns defined as not null can be included in (collist). Each column must be separated by a comma (or the current delimiter).


(collist)

If (collist) is one column, this option is equivalent to PRIMARY KEY. If two or more columns are included in (collist), the values in the listed columns must be unique as a group in each row. Only columns defined as not null can be included in (collist). Each column must be separated by a comma (or the current delimiter).


(collist)

If (collist) comprises one column, this option is equivalent to FOREIGN KEY. If two or more columns are included in (collist), the values in the listed columns must be unique as a group in each row. Each column must be separated by a comma (or the current delimiter).


tblname

Specifies a 1 to 18 character table name.


ADD CASCADE

Maintains primary/foreign key relationships automatically. For example, if you either update or delete a primary key value from this table, the corresponding foreign key values are updated or deleted automatically.


DROP CASCADE

Disables the CASCADE feature so that primary/foreign key relationships are not maintained automatically.


	APPEND Short name: APP
Use the APPEND command to copy rows from a table or view to the end of a table.


tblview

Names the table or view from which you want to copy rows--the source.


TO tblname

The name of the table to which you want to copy rows--the destination.


	ATTACH Short name: ATT
Use the ATTACH command to attach a dBASE file to an open R:BASE database.


filespec

A dBASE database name with a drive and path specification in the form D:\PATHNAME\FILENAME.


ndxlist

Specifies a list of index files to associate with the specified dBASE file. You do not have to include the extension for each index file. Separate index file names with a comma (or the current delimiter). Index files must be located with the specified dBASE file.


USING

Removes dBASE index files that were previously associated with the attached dBASE file when this option is used without a list of index files.


	AUTOCHK Short name: AUTOCHK
Use the AUTOCHK command to check the integrity of a database.


dbspec

Specifies a database to check; otherwise, the open database is checked.


FULL

Provides detailed information about the processing being performed, and when AUTOCHK encounters an error, it continues processing.


	AUTOFIX
Use AUTOFIX.EXE, a stand-alone DOS utility, to repair broken pointers. Pointers, which link rows in a table, can become damaged, and then R:BASE is unable to find rows in the database.


dbname

Specifies the name of the database to repair.


tblname

Specifies the name of the table to repair.


	AUTONUM Short name: AUT
Use the AUTONUM command to define, modify, or remove an autonumber formula from a column.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command.


DELETE

Removes a column's autonumber formula.


format

Defines the format in which values are displayed. This option is used only for columns with the TEXT data type.

You can use the following formatting characters:

9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.
For example, if the format is [MX]9999, and the numeric value is 123, the value entered will be MX123.


increment

Specifies the value of the increment as each new row is added to the table. The default increment is 1.


IN tblname

Specifies the table in which to autonumber the column.


NONUM

Leaves existing values unchanged and assigns autonumbered values to new rows as they are added to the table. NONUM is the default option.


NUM

Renumbers all the existing values in the column defined as an autonumbered column.


USING startnum

Defines or redefines the formula for an autonumber column. You must specify a starting value. Optionally, you can specify an increment, and for columns with the TEXT data type, a display format. For a column in a table that contains values, you can either renumber existing values or leave them as they are.


ORDER BY clause

Sorts rows of data. The ORDER BY clause is only used with the NUM option. For more information, see the ORDER BY command.


	BACKUP Short name: BAC
Use the BACKUP command to copy the data and/or structure of a database to floppy disks or another directory on your hard disk.


ALL

Backs up the entire structure and data of the current database.


STRUCTURE

Backs up just the structure of the current database.


DATA

Backs up just the data of the current database.


FOR tblname

Specifies a single table to back up. If this clause is not used, all tables in the database are backed up.


FOR tblview

Specifies a table or view to back up. If this clause is not used, all tables and views in the database are backed up.


USING collist

Specifies the columns to back up and in what order to back them up. USING ALL backs up all columns in the order they are defined in the table.


	BEEP Short name: BEE
Use the BEEP command to sound the computer's bell.


	BREAK Short name: BRE
Use the BREAK command to force an early exit from a WHILE...ENDWHILE loop or a SWITCH...ENDSW structure.


	BROWSE Short name: BRO
Use the BROWSE command to display data.


NOCHG

Prevents changes to the issued BROWSE command; stops users from reaching additional data by adding columns to the command or changing the command's WHERE clause. When the NOCHG option appears in the command, users cannot toggle from browse mode to edit mode by pressing [F4], nor by using the Edit menu. NOCHG is particularly useful when the BROWSE command is issued within an application or command file.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname). You can enter tblname.* to specify all columns in the table.


=color

Sets the background display color for the column to black, blue, brown, cyan, gray, green, magenta, or red. Enter an equal sign followed by the name of the color.


DISTINCT

Suppresses the display of duplicate rows.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


=NOSCROLL

Locks the specified column on the left margin of the screen so that you can move other columns next to it.

Other columns you set to NOSCROLL appear beside the first NOSCROLL column. R:BASE reorders the NOSCROLL columns into a block. A border separates non-scrolling columns from scrolling columns.

The number of non-scrolling columns you can include is limited by the width of your screen. If there is not enough room on the screen to display the non-scrolling columns plus the current scrolling column, R:BASE ignores the =NOSCROLL option.


=r =w

Sets the display area for data for columns with the TEXT or NOTE data types. If you specify r, you must specify w. Enter an equal sign followed by the number of screen rows for the depth, then a second equal sign followed by the number of characters for the width.


=READ

Specifies that the column is read-only, preventing changes to data.


tblname.

Specifies a column using the table name. Use tblname.* to specify all columns in the table.


	CASCADE
Use the CASCADE command to cascade all open windows.


	CHDIR Short name: CD
Use the CHDIR command to display or change the current directory.


d:

Specifies a valid drive letter.


pathname

Specifies one or more directory names that lead from the root directory to a specified directory.


	CHDRV Short name: CHDR
Use the CHDRV command to change the current drive.


d:

Specifies a valid drive letter.


	CHKDSK Short name: CHK
Use the CHKDSK command to display information about an active local drive.


d:

Specifies a drive other than the current drive.


FH

Displays the number of available file handles.


	CHOOSE Short name: CHO
Use the CHOOSE command to display the following types of menus: bar with a pull-down, check-box, pop-up, sort check-box, vertical, or WHERE builder.


CHKBOX

Displays a check-box menu.


CHKSORT

Displays a sort check-box menu.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


#COLUMNS IN tblview

Displays a pop-up menu containing all columns in the specified table or view and stores the chosen column name in the variable varname.


#DATABASE

Displays a pop-up menu containing all databases in the current directory, and stores the chosen database name in the variable varname.


DISTINCT

Suppresses the display of duplicate rows.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


#FORMS

Displays a pop-up menu containing all forms in the open database and stores the chosen form name in the variable varname.


#GLOBAL

Displays a pop-up menu containing currently defined global variables and stores the chosen variable name in the variable varname.


IN procfile

Specifies the name of a procedure file. A procedure file is a compiled binary file that contains stored menu, screen, and command blocks. Include a drive and path name if the procedure file is not on the current drive and directory.


#LABELS

Displays a pop-up menu containing all labels in the open database and stores the chosen label name in the variable varname.


#LFILES IN filespec

Displays all files in the current directory in a pop-up list, unless the IN filespec option is specified. In this latter case, the user may specify a filespec such as *.MSG, and R:BASE will display a pop-up list of all files in the specified directory with the .MSG extension. The chosen file name is stored in the variable varname.


menuname

A user-defined menu can be stored either in an ASCII disk file or as a menu block in an R:BASE procedure file created by CodeLock or the Application Designer. If procfile is used, menuname refers to a procfile menu block. If procfile is not used, menuname specifies an ASCII disk file containing the menu to be displayed.


n

n is an optional positive integer specifying the maximum number of options on that menu that can be checked. If n is zero or is greater than the number of menu options, all options can be checked. If n is unspecified, the default value is zero. The maximum value of n is 9999.


#REPORTS

Displays a pop-up menu containing all reports in the open database and stores the chosen report name in the variable varname.


,retcol

Specifies the column whose value is returned into the variable varname. The column does not have to be one of the columns displayed in the menu. This option is not available for check-box menus.


AT CENTER

Displays the menu at the center of the screen.

AT scrnrow scrncol

Specifies a location on screen to display the menu. For scrnrow, an integer between 1 and 25 indicates the screen line on which the menu is displayed. For scrncol, an integer between 1 and 79 indicates the screen column. You can specify scrncol for pop-up, check-box, or sort check-box menus only.

AT scrnrow CENTER

Positions the menu centered vertically at the specified row.

AT CENTER scrncol

Positions the menu centered horizontally at the specified column.


#TABLES

Displays a pop-up menu containing all tables in the open database and stores the chosen table name in the variable varname.


#TBLVIEWS

Displays a pop-up menu containing all tables and views in the open database and stores the chosen table or view name in the variable varname.


TITLE 'title'

Displays a title in the dialog box.


#VALUES FOR

Displays a pop-up menu containing values from the specified column or expression and table. Use the (expression) option to display more than one column from the table in the menu, such as (colname1 & colname2).


varname FROM

Returns a single value into varname if the menu is vertical or pop-up. In a bar menu with a pull-down, check-box, or sort check-box menu, the variable contains one or more values, separated by a comma (or the current delimiter). Do not predefine the variable; the CHOOSE command defines the variable with its proper data type.


#VIEWS

Displays a pop-up menu containing all views in the open database and stores the chosen view name in the variable varname.


#WHERE IN tblview

Opens the WHERE builder for you to enter conditions for the columns in the specified table or view; stores the entire WHERE clause in the variable varname.


CAPTION 'text'

Displays text in the dialog box titlebar.


LINES n

Determines the number of lines, n, to display in the listbox. The default is 10.


	CLEAR Short name: CLE
Use the CLEAR command to remove global variables from memory.


ALL VARIABLES

Removes all global variables from memory. Do not use this option to clear variables in an Application Designer custom command block, because several variables generated by the Application Designer should not be cleared until you exit the application.


EXCEPT varlist

Specifies variables that the CLEAR command will not remove. You can use wildcards in variable names.


VARIABLES varlist

Removes a list of one or more variables. Use this option at the end of a complete set of procedures to clear variables that are no longer needed. You can use wildcards in variable names.


	CLOSE Short name: CLO
Use the CLOSE command to close an open cursor.


cursor

Closes a row pointer in a table that was defined with the DECLARE CURSOR command.


	CLOSEWINDOW
Use the CLOSEWINDOW command to close an MDI form from within an application.


alias

Specifies a window name, which is the name given to the instance of a form started with the MDI option when using the AS alias option with the EDIT USING command.


	CLS
Use the CLS command to clear the window, regardless of the current output device.


backcolor

Specifies the background color of the cleared area. Valid R:BASE background colors are black, blue, brown, cyan, green, gray, magenta, yellow, white, and red.


FROM scrnrow, scrncol

Specifies the first screen row to clear, starting at the column specified by scrncol.


TO scrnrow, scrncol

Specifies the last screen row to clear, ending at the column specified by scrncol.


	CODELOCK Short name: COD
Use the CODELOCK command to start CodeLock, the ASCII-to-binary conversion program that locks command and procedure files.


1

Corresponds to the first menu choice in CodeLock: "Convert an ASCII command file to a binary command file."


2

Corresponds to the second menu choice in CodeLock: "Add an ASCII command file to a procedure file."


3

Corresponds to the third menu choice in CodeLock: "Add an ASCII screen file to a procedure file."


4

Corresponds to the fourth menu choice in CodeLock: "Add an ASCII menu file to a procedure file."


5

Corresponds to the fifth menu choice in CodeLock: "Convert an ASCII application file to a binary procedure file."


cmdfile

Specifies an ASCII command file.


scrfile

Specifies an ASCII screen file.


menufile

Specifies an ASCII menu file.


appfile

Specifies an ASCII application file.


backfile

Specifies the name for the backup file.


apxfile

Specifies the name for the binary procedure file that is produced.


binfile

Specifies the name for the binary command file that is produced.


procname

Specifies the name for the inserted command block.


screenname

Specifies the name for the inserted screen block.


menuname

Specifies the name for the inserted menu block.


-p

Forces CodeLock to use the older encryption method (used previous to R:BASE version 4.5 Plus!). This option is necessary if the application will be run using R:BASE version 4.5 or earlier.


	*(COMMENT) Short name: *( ) or --
Use comments in command or application files to provide internal program documentation.

There are two comment designators: *( ) and --.

A *( ) comment may share a command line with a command, occupy a line itself, or extend over multiple command lines.

A -- comment can be used only on a single line either by itself or following a command.


	COMMENT ON Short name: COMME ON
Use the COMMENT ON command to add a description to a table or column.


colname

Adds a description for a column in all tables in which it appears.


DELETE

Removes a description for a table or for a column in either the specified table or in all tables.


IN tblname

Adds a description for a column only in the specified table.


IS 'description'

Defines a description for a table or for a column in either the specified table or in all tables.


TABLE tblname

Adds a description for the specified table.


tblname.colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


	COMMIT Short name: COMMI
Use the COMMIT command to make permanent the changes to the data or database structure made since the beginning of the transaction.


	COMPUTE Short name: COMP
Use the COMPUTE command to calculate expressions or perform mathematical operations on columns.


ALL

Executes all of the functions relevant to the data type of the selected column.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


(expression)

Determines the value for the column using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


ROWS FROM tblname

Counts rows in a specified table.


MAXIMUM

Selects the maximum value in a column. For TEXT and CHARACTER data types, R:BASE evaluates the first 30 characters. This option accepts columns with any data type except BIT, VARBIT, VARCHAR, and BITNOTE.


MINIMUM

Selects the minimum value in a column. For TEXT and CHARACTER data types, R:BASE evaluates the first 30 characters. This option accepts columns with any data type except BIT, VARBIT, VARCHAR, and BITNOTE.


varname AS

Specifies a global variable name in which to store the result of a COMPUTE command. If you use the arguments COUNT or ROWS, the variable must be an INTEGER data type.


	CONNECT Short name: CON
Use the CONNECT command to open a database.


dbspec

Opens a specified database.


IDENTIFIED BY

Specifies the user identifier. If left blank, R:BASE prompts you for the user identifier. It does not display it as you enter the text.


password

Optional; verifies the correct user identifier of the current user of the database.


READ

Opens a database as read-only. When you open a database as read-only, you cannot modify the data or database structure. All users must connect to the database in read mode if it is used.


WRITE

Opens a database in write/read mode. When you open a database in write/read mode, you can view and modify the database. This mode is the default when you use the CONNECT command without options.


userid

Specifies the user identifier. When access rights have been assigned using the GRANT command, you must enter an appropriate user identifier with the CONNECT command unless permission has been granted to PUBLIC.


	CONTINUE Short name: CONT
Use the CONTINUE command to move to the next occurrence of the WHILE loop and run the code.


	COPY Short name: COP
Use the COPY command to copy files.


filespec1

Specifies the file to be copied--the source file.


filespec2

Specifies the file to receive the copy--the target file.


	CREATE INDEX Short name: CRE IND
Use the CREATE INDEX command to speed up data retrieval by creating pointers that locate rows in a table easily.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command.


INDEX indexname

Specifies an index, which is displayed with the LIST INDEX command. An indexname is required.


ON tblname

Specifies the table in which to create an index for a column.


SIZE n

Sets the minimum number of characters to preserve to determine uniqueness during hashing. This number can be a maximum of 200 characters. The index is created with the first n characters preserved and the rest of the value stored as a 4-byte hashed representation.


	CREATE SCHEMA Short name: CRE SCH
Use the CREATE SCHEMA command to name a database and assign a user identifier for the database owner.


AUTHORIZATION dbname

Specifies the name of the database.


ownername

Allows you to assign a unique identifier for the owner of the database.


	CREATE TABLE Short name: CRE TAB
Use the CREATE TABLE command to define a new table in an existing database.


CASCADE

Maintains primary/foreign key relationships automatically. For example, if you either update or delete a primary key value from this table, the corresponding foreign key values are updated or deleted automatically.


<COLUMN DEFINITION>

See the syntax below.


(collist)

Specifies a list of one or more column names, separated by a comma (or the current delimiter), used in the unique key specification. This option is only used when referencing a unique key.


colname

Specifies a 1 to 18 character column name.


datatype

Specifies an R:BASE data type.


DEFAULT

Specifies a default value for the column if no value is provided by the user.


= (expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


NOT NULL

Prevents a column from accepting null values, but permits it to accept duplicate values.

If this option is specified without a setting for a default value, you cannot insert rows without specifying values for the given column.


REFERENCES tablename

Identifies the primary key or unique key table to which the foreign key refers.


(size)

Defines the length of a column of either the CHARACTER data type (if not the default 1) or TEXT data type (if not the default 8). Defines the precision and scale of a column of the DECIMAL or NUMERIC data type, if not the default of precision 9 and scale 0 (9,0). VARBIT, VARCHAR, and BIT either require or can have a size.


<TABLE CONSTRAINT>

See the syntax below.


tblname

Specifies a 1 to 18 character table name.


	CREATE VIEW Short name: CRE VIE
Use the CREATE VIEW command to define a view that combines columns from existing tables or views.


AS SELECT clause

Specifies the columns and rows to include in the view.


(collist)

Specifies a list of one or more column names or aliases, separated by a comma (or the current delimiter). These names will be the column headings displayed in the result of a SELECT command or the Data Browser.


viewname

Specifies a 1 to 18 character view name.


WITH CHECK OPTION

Specifies that a row cannot be added or updated unless it meets the conditions included in the WHERE clause (which is part of the SELECT clause). R:BASE uses this option only on a view that can be updated.


	CROSSTAB Short name: CRO
Use the CROSSTAB command to count the occurrences of each unique pair of values from two columns in a table or view.


cellcol

Specifies the column whose values will be computed and displayed in the cells portion of the crosstab.


FOR topcol

Specifies the column whose values will be displayed across the top of the crosstab. If the topcol option is omitted, the sidecol and cellcol total or computation will be displayed.


topcol

Specifies the column whose values will be displayed across the top of the crosstab.


BY sidecol

Specifies the column whose values will be displayed down the side of the crosstab.


=w

Sets the width, in number of characters, of the column displaying the results for cellcol.


MAXIMUM

Selects the maximum value in a column. For TEXT and CHARACTER data types, R:BASE evaluates the first eight characters. This option accepts columns with any data type except BIT, LONG VARBIT, LONG VARCHAR, VARBIT, VARCHAR, and BITNOTE.


MINIMUM

Selects the minimum value in a column. For TEXT and CHARACTER data types, R:BASE evaluates the first eight characters. This option accepts columns with any data type except BIT, LONG VARBIT, LONG VARCHAR, VARBIT, VARCHAR, and BITNOTE


	DEBUG
Precede any R:BASE command with the DEBUG command to control the running of the command.


command

Specifies a valid command name.


	DECLARE CURSOR Short name: DEC CUR
Use the DECLARE CURSOR command to create a cursor that points to a row in a table or view.


cursor

Specifies a 1-18 character cursor name.


SCROLL

Defines a cursor that moves forwards and backwards through a table. If this option is omitted, the cursor can only move forward.


CURSOR FOR SELECT clause

Specifies the columns and rows from the table whose values you want to use.


	DELETE Short name: DEL
Use the DELETE command to remove selected rows from a table.


ROWS

This word is optional.


WHERE CURRENT OF cursor

Specifies a cursor pointing to the row the DELETE command will remove. This option can replace a standard WHERE clause. Use the DECLARE CURSOR command to define the cursor.


	DELETE DUPLICATES Short name: DEL DUP
Use the DELETE DUPLICATES command to remove duplicate rows from a table.


USING collist

Deletes rows based on duplicate values in the specified list of columns.


	DETACH Short name: DET
Use the DETACH command to remove a dBASE file table and its associated dBASE index files from the open R:BASE database.


ALL

Removes all dBASE tables and associated dBASE index files from the open R:BASE database.


file_tblname

Removes the specified dBASE table and associated dBASE index files from the open R:BASE database.


ALL EXCEPT file_tblname

Removes all dBASE tables and associated dBASE index files from the open R:BASE database, except the specified table.


NOCHECK

Eliminates the confirmation message.


	DIALOG Short name: DIA
Use the DIALOG command to display a dialog box on the screen to accept text entry from a user.


password

Displays the dialog box entry as asterisks.


,scrncol

Specifies the column position for the upper left corner of the dialog box.


AT scrnrow

Specifies the row position for the upper edge of the dialog box.


endkey

Specifies the variable containing the final keystroke ([Enter] or [Esc]) in a dialog box.


lines

Specifies the number of lines to display for the text entry in a dialog box.


'message'

Specifies the text of the message to display in the dialog box.


response

Specifies the variable that will contain the dialog box entry.


YES

NO

Creates a Yes/No dialog box and sets the default response to Yes or No.


=w

Specifies the width for the dialog box entry.


	DIR
Use the DIR command to list the files in a directory.


filespec

Specifies a filename, including the drive or directory. Wildcards can be used.


	DISCONNECT Short name: DISC
Use the DISCONNECT command to write any modifications of the currently open database to disk, then close the database.


	DISPLAY Short name: DISP
Use the DISPLAY command to display up to 24 lines of text that is stored in a screen file.


IN procfile

Refers to a procedure file processed through CodeLock.


AT scrnrow

Specifies the top line of the display (1-24).


,scrncol

Specifies the column of the upper-left corner of the display (1-80).


scrnname

Refers to a screen block stored in a procedure file or to any disk file whose contents are to be displayed.


	DROP Short name: DRO
Use the DROP command to remove the specified item from the database.


ALL

Removes all tables from the database.


ALL EXCEPT tblname

Removes all tables from the database except the table(s) listed.


COLUMN colname FROM tblname

Removes a column's structure and data from the specified table.


CURSOR cursor

Removes the specified cursor. The DROP CURSOR command removes a cursor definition from memory, therefore freeing memory.

Cursors are dropped when you use the CONNECT command to open another database, or the DISCONNECT command to close the database.


FORM formname

Removes the specified form.


INDEX

Removes the index from the column in the specified table.


colname IN tblname

Removes the index from the specified column in the specified table.


indexname

Removes a named index.


tblname.colname

Removes the index from the specified column in the specified table.


LABEL labelname

Removes the specified label.


NOCHECK

Eliminates the confirmation message.


REPORT rptname

Removes the specified report.


RULE

Removes the specified rule.


FOR tblname

Removes the rule from the specified table for the specified table.


WITH 'message'

Removes the specified rule from all tables to which it applies. Omitting the WITH 'message' option removes all rules.


TABLE

Removes the specified table.


tblname

Specifies the table name to be removed.


VIEW viewname

Removes the specified view.


	EDIT Short name: EDI
Use the EDIT command to change data.


colname

Specifies a 1 to 18 character column name.


=color

Sets the background display color for the column to black, blue, brown, cyan, gray, green, magenta, or red. Enter an equal sign followed by the name of the color.


DISTINCT

Suppresses the display of duplicate rows. If you specify DISTINCT, you cannot change the data that is displayed.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


=NOSCROLL

Locks the specified column on the left margin of the screen so that you can move other columns next to it.

Other columns you set to NOSCROLL appear beside the first NOSCROLL column. R:BASE reorders the NOSCROLL columns into a block. A border separates non-scrolling columns from scrolling columns.

The number of non-scrolling columns you can include is limited by the width of your screen. If there is not enough room on the screen to display the non-scrolling columns plus the current scrolling column, R:BASE ignores the =NOSCROLL option.


=r =w

Sets the display area for data for columns with the TEXT or NOTE data types. If you specify r, you must specify w. Enter an equal sign followed by the number of screen rows for the depth, then a second equal sign followed by the number of characters for the width.


=READ

Specifies that the column is read-only, preventing changes to data.


NOCHG

Prevents changes to the issued EDIT command. This security feature stops users from reaching additional data by adding columns to the command, changing the command's WHERE clause, or removing the =READ option from a column. The NOCHG option is particularly useful when the EDIT command is issued within an application or command file.


MDI

Specifies a modeless edit window--a modeless edit window allows you to access other windows without closing the edit window first.


	EDIT USING Short name: EDI USI
Use the EDIT USING command to display a form with which to view, add, change, or delete data.


USING

Specifies a modal form--modal means that you must close the form before you can click in another window.


AS alias

Allows the user to specify a name for this instance of the form. This option is used in conjunction with the MDI option so that the user can programmatically specify the form with the SETFOCUS command.


MDI

Specifies a modeless form--a modeless form allows you to access other windows without closing the form first.


ARRANGE tblname BY collist

Sorts the rows displayed by a form's lower-level tables. Each lower-level table in the form that you want to sort requires its own ARRANGE clause. You can specify up to three columns on which R:BASE will sort.


AT scrnrow

Positions the top of the form at any line on the screen other than lines 1 or 25 (the default is line 2).


AT x1,y1,x2,y2

Specifies the size of the form window for the coordinates of the top left corner and the lower right corner, in pixels. Only used with the MDI option.


CAPTION 'windowcaption'

Specifies a caption for the window title bar.


formname

Specifies a 1 to 18 character form name.


	ENTER Short name: ENT
Use the ENTER command to use a form to add information to tables.


AT scrnrow

Positions the top of the form at any line on the screen other than lines 1 or 25 (the default is line 2).


AT x1,y1,x2,y2

Specifies the size of the form window for the coordinates of the top left corner and the lower right corner, in pixels.  Only used with the MDI option.


CAPTION 'windowcaption'

Specifies a caption for the window title bar.


AS alias

Allows the user to specify a name for this instance of the form. This option is used in conjunction with the MDI option so that the user can programmatically specify the form with the SETFOCUS command.


formname

Specifies a 1 to 18 character form name.


FOR n ROWS

Limits to n (an integer) the number of rows that can be entered into the form's first table during one session of data entry.


FROM filespec

Specifies that R:BASE enters the data from an external, fixed-field ASCII file. Use this option only with a single-page, single-table form. Omit this option when entering data from the keyboard. This option is only used with forms created in R:BASE for DOS.


USING

Specifies a modal form--modal means that you must close the form before you can click in another window. If you do not specify an option, a modal form is the default.


MDI

Specifies a modeless form--a modeless form allows you to access other windows without closing the form first. If you do not specify an option, a modal form is the default.


	ERASE Short name: ERA
Use the ERASE command to delete a file.


filespec

Specifies a file name with a drive and path specification in the form D:\PATHNAME\FILENAME.EXT.


	EXIT Short name: EXI
Use the EXIT command to leave R:BASE and return to the operating system. EXIT closes an open database, releases memory taken by R:BASE, and releases file handles.


	EXPRESS Short name: EXPR
Use the EXPRESS command to start the Application Designer (Application Express), an application generator that lets you build and modify an application without programming.


	FETCH Short name: FET
Use the FETCH command to position the cursor on a row specified by the DECLARE CURSOR command, and place values from the columns into global variables.


ABS n

The value n is the nth row in the cursor list. The current cursor location is not relevant. Positive numbers count from the first row in the list. Negative numbers force an end-of-data condition.


cursor INTO

Names the cursor from which to fetch data into the specified variable list.


FIRST

Specifies the first row in the cursor list.


FROM

Specifies the keyword that is used with a scrolling cursor.


INDICATOR ind_var

Stores the status of the variable: non-null (0) or null (-1).


LAST

Specifies the last row in the cursor list.


NEXT

Specifies the next entry the cursor points to.


PRIOR

Specifies the prior entry the cursor points to.


REL n

Moves the cursor n rows. Positive integers move forward, and negative integers move backwards. For example, if n is 5, the cursor moves forward 5 rows.


varname

Specifies a 1 to 18 character variable name, which must be unique among the variable names within the database.


	FILLIN Short name: FIL
Use the FILLIN command to prompt the user to enter a value at the keyboard.


AT scrnrow, scrncol

Indicates the display position (row and column coordinates) of the first character of the message text.


EDIT

Displays the value of varname, if it exists. You can edit the value or press [Enter] or [F2] to accept it.


forecolor

Specifies the foreground color in the FILLIN box. Valid foreground colors are black, blue, brown, cyan, green, gray, magenta, red, light black, light blue, light cyan, light green, light magenta, light red, yellow, and white.


,height

Sets the height of the FILLIN box, measured in number of lines. If height is not specified, it is one line.


,length

Sets the length of the FILLIN box, measured as the total number of characters; the length can exceed the size of the box (width in characters by height in lines), thereby creating a scrolling box. If length is not specified, it equals the value for width.


ON backcolor

Specifies the background color. Valid R:BASE background colors are black, blue, brown, cyan, green, gray, magenta, yellow, white, and red.


REVERSE

Displays a reverse video message based on the current screen colors. You cannot specify both colors and REVERSE.


USING 'message'

Specifies the message text (a 1- to 80-character text string in the currently defined QUOTES character) to be displayed. You can use a dot variable in place of it. For example, if you enter FILLIN var1 USING .var2, the screen prompt is the contents of var2.


varname

Specifies a 1 to 18 character variable name, which must be unique among the variable names within the database.


=width

Specifies the width of the entry field. If set to zero, you do not need to press [Enter] after the response. A single key entry is accepted, although not displayed on the screen. When varname=0 is specified, you can capture these keystrokes: [Enter], [Esc], [Home], [End], [PgUp], [PgDn], [Up Arrow], [Down Arrow], [Tab], and [Shift]+[Tab]. For example, [PgDn] is recorded as [PgDn] in the variable. The [Down Arrow] key is recorded as [Down] and [Up Arrow] as [Up]. The variable used with =0 is always a TEXT data type. Alternatively, you can omit this option and use the LASTKEY function to capture the last key pressed. (This is useful with the EDIT clause.) If a height and length are specified, the width references the width of the FILLIN box.


	FLUSH Short name: FLU
Use  the FLUSH command to force database information to be written to disk.


	FORMS Short name: FOR
Use the FORMS command to start the Form Designer.


formname

Names an existing form to modify. The name can be 1 to 18 characters long.


	GATEWAY Short name: GAT
Use the GATEWAY command to start the Import/Export utility.


ADD19

Adds a "19" before two-digit years you import; for instance, "95" would be imported as "1995."


APPEND

Adds the imported data to the end of the table or view specified in tblview.


AUTONUM

Applies the autonumber formula to the imported rows.


CREATE

Creates a destination table with the same name as the imported file.


dateformat

Specifies a format for importing dates:

Date Format	Description
date1	MM/DD/(YY)YY
date2	(YY)YY/MM/DD
date3	DD/MM/(YY)YY
date4	DD/Mon(th)/(YY)YY
date5	Mon(th) DD, (YY)YY
date6	Mon(th)
date7	MMDD(YY)YY
date8	Serial


EXPORT

Specifies that you want to export an R:BASE table to an external file.


filename

Specifies the name of the file to import, or the name of the file to export to.


IMPORT

Specifies that you want to import an external file to an R:BASE table.


SELECT clause

Limits rows of data. For more information, see SELECT.


tblview

Specifies the name of a table or view.


type

Specifies one of the following codes for accepted file formats:

Code	Format
WK1	Lotus 123 2.1
WK3	Lotus 123 3.x
WK4	Lotus 123 4.x
WK4	Lotus 123 5.x
WKS	Lotus 123 1.x
WR1	Symphony 1.1 to 2.2
WRK	Symphony 1.0
WKQ	Quattro Pro
XLS2	Excel 2.x
XLS3	Excel 3.x
XLS4	Excel 4.0
XLS5	Excel 5.0
DB2	dBASE II
DB3	dBASE III
DB3p	dBASE III Plus
DB4	dBASE IV
DIF	Data Interchange Format
SYLK	Symbolic Link File Format
TAB	ASCII tab delimited
TXT	ASCII tab delimited, guess numeric values
CSV	ASCII comma delimited, minimal quoting
QSV	ASCII comma delimited, string quoting
ISV	ASCII comma delimited, guess numeric values


REPLACE

Replaces the rows in the table or view specified in tblview with the imported data.


	GOTO Short name: GOT
Use the GOTO command in a program to pass control to the commands following the LABEL command.


lblname

Specifies a 1 to 18 character name that labels a line to skip to when a GOTO command is executed in a command or procedure file.


	GRANT Short name: GRA
Use the GRANT command to assign access rights to users of a table or view.


ALL PRIVILEGES

Grants all access rights on the specified table, or on a view that can be updated.


DELETE

Grants permission to remove rows from the specified table or from a view that can be updated.


INSERT

Grants permission to add rows to the specified table or to a view that can be updated.


REFERENCES

Grants permission to create a table with a foreign key that references a table with a primary key.


SELECT

Grants permission to display or print data for the specified table or view.


ALTER

Grants permission to alter specific tables.


UPDATE (collist)

Grants permission to change the values of columns in the specified table or a view that cannot be updated. If you do not include the optional (collist), the user can update all columns in the table. If you list columns, the user can update only the specified columns.


userlist, PUBLIC

Grants specified access rights to listed users and PUBLIC. Users in userlist can retain their access rights if access rights granted to PUBLIC are revoked. If, for example, ralph, sam, jane, and PUBLIC have been granted certain user access rights, revoking those rights from PUBLIC would not affect the three listed users. You must separate the user identifier with a comma (or the current delimiter).


userlist

Grants specified access rights to listed users. You must separate user identifiers with a comma (or the current delimiter).


PUBLIC

Grants specified access rights to all users.


CREATE TO

Grants permission to users to create tables using the CREATE TABLE command. Users who have been granted permission to use this command have all rights on the tables they create, including the WITH GRANT OPTION. However, users do not have rights on any other tables in the database unless they are specifically granted permission by the owner.


ON tblview

Specifies a table or view.


WITH GRANT OPTION

Allows the specified users to pass the granted access rights to other users. When you use the LIST ACCESS command, an asterisk is displayed in front of the access right to show a user can grant the assigned access right to others; for example, *SELECT means a user has permission to display or print data for specified tables or views, and can grant SELECT rights to other users.


	HELP
Use the HELP command to start R:BASE online Help.


	IF... ENDIF
Use an IF...ENDIF structure in a command file to cause a block of commands to be run when the specified conditions are met.


condlist

Lists a set of conditions that combine to form a statement that is either true or false. Conditions are combined with the connecting operators AND, OR, AND NOT, and OR NOT.


else-block

Contains one or more R:BASE commands to execute when the conditions specified in condlist are false.


then-block

Contains one or more R:BASE commands to execute when the conditions specified in condlist are true.


	INSERT Short name: INS
Use the INSERT command to add data to a table or view without using a data-entry form.


(collist)

Specifies a list of one or more column names, separated by a comma (or the current delimiter). In an SQL command, any column name in the list can be preceded by a table or correlation name and a period (tblname.colname).


INTO tblview

Specifies the table or view name (views must be updatable).


SELECT clause

Finds values in a table, tables, or view to insert into the table or view specified by the INTO tblview option and the columns specified by the collist option.


VALUES (vallist)

Specifies a list of values to insert into the table specified by the INTO tblview option and the columns specified by the collist option. Separate values with a comma or the current delimiter.

For these data types...	Use this format for vallist
All data types except BIT, BITNOTE, LONG VARBIT, and VARBIT	'string' or value
BIT, BITNOTE, LONG VARBIT, LONG VARCHAR, VARBIT, and VARCHAR	['filename.ext'] or ['filename.ext', filetype, offset, length] Note: When you use VARCHAR, the filetype is always TXT. When you use VARBIT, BIT, and BITNOTE, filetype refers to the standard graphical file types.


	INTERSECT Short name: INT
Use the INTERSECT command to form a new table by combining two tables that have one or more common columns.


FORMING tblname3

Specifies the name of the new table.


tblname1

Specifies the name of the first table to intersect.


WITH tblname2

Specifies the name of the second table to intersect.


USING collist

Specifies which columns to include in the new table. The clause must include at least one common column. You can use the clause to order the columns in the new table and to determine which columns from the original tables will be in the new table.

If you do not include the clause, R:BASE uses all columns from both tables. Columns from tblname1 provide the order for rows and columns in the new table. R:BASE adds columns from tblname2 that are not in tblname1 to the right of the columns from tblname1.

The USING clause also determines which common columns are used for comparison. For example, if frstname and lastname are in both tables but only lastname is included in the USING clause, INTERSECT will compare the tables based only on lastname.


	JOIN Short name: JOI
Use the JOIN command to form a new table by combining rows from two existing tables based on a comparison of the columns you specify.


FORMING tblname3

Specifies the name of the new table.


tblname1

Specifies the name of the first table to join.


USING colname1

Specifies the columns to be compared; colname1 is a column in tblname1.


USING colname2

Specifies the columns to be compared; colname2 is a column in tblname2.


WHERE comparop

States the condition used to compare columns. If omitted, the condition is = or EQ (equal).

Use only the following comparison operators in the JOIN WHERE clause:

Operator Rows are included if...

=	EQ	colname1 is equal to colname2 (the default)
<>	NE	colname1 is not equal to colname2
>	GT	colname1 is greater than colname2
>=	GE	colname1 is greater than or equal to colname2
<	LT	colname1 is less than colname2
<=	LE	colname1 is less than or equal to colname2


WITH tblname2

Specifies the name of the second table to join.


	LABEL Short name: LAB
In a GOTO or WHENEVER statement, use the LABEL command to identify the command line to which control should be passed.


lblname

Specifies a 1 to 18 character name that labels a line to skip to when a GOTO command is executed in a command or procedure file.


	LBLPRINT Short name: LBL
Use the LBLPRINT command to send a set of labels to a screen, printer, file, or any combination of destinations.


CHECK

Tests the alignment of the label stock in your printer.


labelname

Specifies a 1 to 18 character label name.


	LIST Short name: LIS
Use the LIST command to display or print information about a database.


ALL

Displays by table the column numbers, column names, data types, sizes, indexes, autonumbering status, expressions for computed columns, default values, column descriptions, table description, and row count for each table in the open database.


COLUMNS

Displays the name, data type, size, table name, index status, autonumbering status, expression, any default value, and description for each column in the open database.

If you specify part of a column name followed by a wildcard character, R:BASE will only show the column names that match that pattern.


CONSTRAINTS

Displays the name, type, table name, and referenced table for each constraint in the database.


FOR tblname

Specifies a table name for which to list constraints.


CURSORS

Specifies the status of cursors and cursor definitions.


DATABASES

Lists all databases in the current directory.


FORMS

Displays the name, driving table or view, and description for every form in the open database.


INDEXES

Displays the name, table name, and column names for all indexes in the open database.


indexname

Displays the name, table name, column names, data types, orders, and sizes for indexname.


FOR tblname

Displays the name, table name, column names, data types, orders, and sizes for all indexes defined for tblname.


LABELS

Displays the name, driving table or view, and description for every label in the open database.


REPORTS

Displays the name, driving table or view, and description for every report in the open database.


RULES

Displays whether rules checking is set on or off, the table name, whether the conditions in the WHERE clause must be met, the rule message, and the WHERE clause for every rule in the open database.


SYS_%

Displays a summary of system tables and views.


TABLES SYS_%

Displays a detailed list of system tables and views.


TABLES

Displays the database name, table name, number of columns, number of rows for each table in the open database, and lists all views, attached dBASE files, and attached foreign server tables. In addition, the LIST TABLES command shows the number of tables, columns, and indexes in the database. These numbers all include system tables. Temporary tables in a read-only schema mode are displayed dimmed. (For more information about the read-only scheme mode, see SET STATICDB.) When you enter the LIST command by itself, R:BASE executes the LIST TABLES command.


TABLES tblname

Displays the name and description of the table, table number, name, data type, size, index status, autonumbering status, expression, default value, description, constraints, and index types for each column in the table. Columns are displayed in the order they were defined.


VIEWS viewname

Displays the name and the SELECT clause defined for the view.


VIEWS

Displays the database name and the names of all the views in the open database. Temporary views in read-only schema mode are dimmed.


	LIST ACCESS Short name: LIS ACC
Use the LIST ACCESS command to allow the owner of a database to view all user's access rights assigned by the GRANT command, and to allow users to view their access rights and rights granted to PUBLIC.


ALL

Displays the users and tables to which the ALL PRIVILEGES access right has been assigned.


ALTER

Displays the users and tables to which the ALTER access right has been assigned.


CREATE

Displays the users and tables to which the CREATE access right has been assigned.


DELETE

Displays the users and tables to which the DELETE access right has been assigned.


FOR user

Displays the tables and access rights for a specific user.


INSERT

Displays the users and tables to which the INSERT access right has been assigned.


ON tblview

Displays the users and their access rights for a specific table or view.


REFERENCES

Displays the users who have rights to reference a primary-key or unique-key table.


SELECT

Displays the users and tables to which the SELECT access right has been assigned.


UPDATE

Displays the users, tables, and columns to which the UPDATE access right has been assigned.


	LOAD Short name: LOA
Use the LOAD command to add data to a table or to a single table view that can be updated.


AS ASCII

Loads data in ASCII-delimited format.

The LOAD AS ASCII command is designed strictly for speed of operation. LOAD AS ASCII checks rules and constraints. However, following is a list of the limitations of the LOAD AS ASCII command:

  It does not check data types; therefore, invalid data will be loaded as null values into columns; no error messages about this conversion are displayed.

  It does not display error messages when columns must be truncated, or when excess data exists on any line.

  It does not echo data to the screen regardless of the setting for SET ECHO.

To achieve maximum speed of loading, the data must look like the data that R:BASE unloads with the UNLOAD DATA AS ASCII command. That is, the data must conform to the following:

  The carriage return/line feed characters define the end of the line for a given row; the maximum row size is 4096 characters.

  The data cannot include variables.

  The data cannot include comments.


AS FORMATTED USING

Loads data from an ASCII file when the data is formatted in fixed column locations, with the following restrictions:

  The carriage return/line feed characters define the end of the line for a given row; the maximum row size is 4096 characters.

  The data cannot include variables.

  The data cannot include comments.

  You must specify the name of each column of the table to be loaded, and the starting and ending position of its data in the line. This is specified in the USING clause of this command.


CHECK

NOCHECK

CHECK turns on rule checking. When rule checking is on, R:BASE checks input against data validation rules. NOCHECK turns off rule checking. CHECK and NOCHECK override the current setting of the SET RULES command. The default is CHECK.


colname start end

Specifies the name of a column in the table and the starting and ending position of its data in the line.


data-block

Includes lines of data to be loaded, as well as the LOAD subcommands.

For these data types...	Use this format for values in the data-block
All data types except BIT, BITNOTE, LONG VARBIT, and VARBIT,	'string' or value
BIT, BITNOTE, LONG VARBIT, LONG VARCHAR, VARBIT, and VARCHAR	['filename.ext'] or ['filename.ext', filetype, offset, length] Note: When you use VARCHAR, the filetype is always TXT. When you use VARBIT, BIT, and BITNOTE, filetype refers to the standard graphical file types.


FILL

NOFILL

FILL makes null any columns that have not been assigned values. All of the missing values must be at the end of the row. If a rule specifies that a column requires an entry other than null, do not use FILL. NOFILL turns off FILL and requires a value for each column. The default is NOFILL.


FOR n ROWS

Directs R:BASE to stop processing after loading n rows, where n is a positive whole number. In the fourth syntax diagram, END is not used if FOR n ROWS is included.


NUM

NONUM

NUM specifies that autonumbering columns will be numbered as they are loaded. NONUM turns off autonumbering while loading, thereby allowing loading of a specific value for autonumber columns. The default is NUM.


tblview

Specifies a table or view name to load.


FROM filespec

Loads data into the specified table with data from an external ASCII delimited file.


WITH PROMPTS

Loads data into the specified table from keyboard entries. R:BASE asks for the values of each column by displaying the column name and its data type. To end the loading session, press [Esc].


	MAXIMIZE
Use the MAXIMIZE command to maximize the R> prompt window.


	MINIMIZE
Use the MINIMIZE command to minimize the R> prompt window.


	NEWPAGE
Use the NEWPAGE command to send a form feed to the current output device: printer, screen, or file.


	NEWROW
Use the NEWROW command in an entry/exit procedure (EEP) to add a row.


	NEXTROW
Use the NEXTROW command in an entry/exit procedure (EEP) to move to the next row.


	NEXTTAB
Use the NEXTTAB command in an entry/exit procedure (EEP) to move to the next table.


	NORMALIZE
Use the NORMALIZE command to size the R> prompt window to the default size.


	OPEN Short name: OPE
Use the OPEN command before using the cursor designated by the DECLARE CURSOR command.


cursor

Specifies a 1 to 18 character cursor name that has been previously specified by the DECLARE CURSOR command.


RESET

Reopens a cursor with the current values of any variables referenced in the DECLARE CURSOR statement. This improves performance by eliminating the need to re-optimize the query.


	ORDER BY Short name: ORD BY
Use the ORDER BY clause with an R:BASE command to specify the order in which rows of data from a table are displayed.


#c

Takes the place of a column name and refers to the column numbers displayed with the LIST TABLE command.


colname

Sorts by any column name or combination of column names.


seq_no

Refers to the items listed in the SELECT command that is using the ORDER BY command, ordered from left to right. An item can be a column name, expression, or SELECT function.


	OUTPUT Short name: OUT
Use the OUTPUT command to direct messages and results of commands to a file, printer, screen, or a combination of the three destinations.


APPEND

Appends data to the end of an existing file without overwriting the file. If you specify APPEND when the specified file does not exist, R:BASE creates the file with that name.


BOTH

Refers to PRINTER and SCREEN.


CHECK

Checks for file existence and prompts the user for confirmation before writing to it.


filespec

Indicates the output device. Specify a file name.


printer

Indicates the output device. Printer is either the word PRINTER or a valid output port such as LPT1 or COM1. An output port is treated as a file that is automatically copied to the printer device when an OUTPUT SCREEN command is issued.


SCREEN

Indicates the output device is the screen.


	PACK Short name: PAC
Use the PACK command on an open database to recover unusable disk space.


ALL

Packs File 1 (schema information), File 2 (data), File 3 (indexes), and File 4 (large object data).


dbspec

Specifies the name of the database to pack.


KEYS

Packs only File 3 (indexes).


SCHEMA

Packs only File 1 (schema information).


WITH USER CASE

Replaces the case folding/collating tables in the database with those defined in the user configuration file (RBASE.CFG).


	PAUSE Short name: PAU
Use the PAUSE command to suspend the running of the command file.


0

Pauses without a message.


1

Displays "Press any key to continue" or any message using the USING option in a Windows dialog box. The screen clears with the next keystroke. Use the AT option to display the message in an R:BASE dialog box.


2

Same as the 1 option except the screen does not clear with the next keystroke.


3

Does not pause and therefore does not wait for the next keystroke. Applicable only when the R:BASE dialog box style is used (use the AT option); useful for simply displaying in dialog box(es) on the screen and continuing.


AT CENTER

Displays the R:BASE dialog box at the center of the screen.

AT scrnrow scrncol

Specifies a location on screen to display the R:BASE dialog box. For scrnrow, an integer between 1 and 25 indicates the screen line on which the menu is displayed. For scrncol, an integer between 1 and 79 indicates the screen column. You can specify scrncol for pop-up, check box, or sort check box menus only.

AT scrnrow CENTER

Positions the R:BASE dialog box centered vertically at the specified row.

AT CENTER scrncol

Positions the R:BASE dialog box centered horizontally at the specified column.


DEFAULT

Displays an additional "Press any key to continue" message in a Windows dialog box. This option is used with the AT option.


forecolor

Specifies the foreground color for the R:BASE dialog box. Valid foreground colors are black, blue, brown, cyan, green, gray, magenta, red, light black, light blue, light cyan, light green, light magenta, light red, yellow, and white.


FOR n

Sets the pause duration in seconds; n must be a positive integer. Any keystroke interrupts the pause, regardless of duration. In the absence of a USING clause, no message is displayed. With a USING clause, the message is displayed in an R:BASE dialog box.


ON backcolor

Specifies the background color for the R:BASE dialog box. Valid R:BASE background colors are black, blue, brown, cyan, green, gray, magenta, yellow, white, and red.


REVERSE

Displays a reverse video message based on the current screen colors. You cannot specify both colors and REVERSE.


USING 'message'

Displays the specified message in a Windows dialog box. If this USING 'message' clause includes an AT clause, the message appears in an R:BASE dialog box. The maximum width of message text in an R:BASE dialog box is 68 characters and the maximum number of lines is 15. The maximum number of lines in a Windows dialog box is one line.


	PLAYBACK Short name: PLA
Use the PLAYBACK command to play back a recorded sequence of keystrokes saved in a script file.


script

Specifies the name of the recorded file. A drive and path specification can be added in the form D:\PATHNAME\FILENAME.EXT.


N1

Specifies a delay at start up in milliseconds.


N2

Specifies a delay between keys in milliseconds.


	PREVROW
Use the PREVROW command in an entry/exit procedure (EEP) to move to the previous row.


	PREVTAB
Use the PREVTAB command in an entry/exit procedure (EEP) to move to the previous table.


	PRINT Short name: PRI
Use the PRINT command to send a report to the screen, printer, or file.


rptname

Specifies the name of the report you want to print.


	PRNSETUP
Use the PRNSETUP command to open the "Printer Setup" dialog box.


	PROJECT Short name: PROJ
Use the PROJECT command to create a new table from an existing table or view.


tblname1 FROM tblview

Tblname1 is the name of the new table you want to create, and FROM tblview specifies the existing table or view you want to copy.


	QUERY Short name: QUE
Use the QUERY command to select, combine, manipulate, and retrieve data from tables.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname). You can enter tblname.* to specify all columns in the table.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


tblname.

Specifies the table containing the columns. You can use tblname.* to specify all columns in the table.


FROM tblview

Specifies the name of the table(s) or view(s) to query.


EXECUTE

Retrieves columns and their data, then displays the columns with their data in the Data Browser.


	QUIT Short name: QUI
In a program, use QUIT to close all open program files, IF structures, SWITCH structures, and WHILE loops.


TO filespec

Specifies the command file (not a file encoded with CodeLock) that is to run after the QUIT command executes. When you don't use this option, R:BASE returns to the command mode (R> prompt).


	RBDEFINE Short name: RBD
Use the RBDEFINE command to start the Database Designer.


	RBEDIT Short name: RBE
Use the RBEDIT command to start the R:BASE editor with which you can create or edit text files, command files, and recorded scripts.


filespec

Displays the contents of the file on the screen for editing. If the file does not exist, a blank screen is displayed. If you specify a wildcard with the filespec option, RBEDIT displays a list of all files that meet the condition. You can then choose a file from the list.


PLAYBACK

Maintains the keystrokes when you edit a playback file.


SELECT VARCHAR clause

Specifies a column defined with the VARCHAR data type from a table, then you can edit the contents. The SELECT clause must limit the data to only one row; otherwise, an error is returned.


	RBLABELS Short name: RBL
Use the RBLABELS command to create and edit labels from the R> prompt.


labelname

Specifies the name of an existing label to modify.


	RBSYNC
Use the RBSYNC command to synchronize the timestamps for database files.


dbname

Specifies the name of the database to sync.


path

Specifies the location of the database files.


.RB1

Specifies to sync database file .RB1.


.RB2

Specifies to sync database file .RB2.


.RB3

Specifies to sync database file .RB3.


.RB4

Specifies to sync database file .RB4.


CREATE

Creates a skeleton .RB3 index file if it can't be found.


CHECK

Shows current sync status only. This is the default option unless you specify otherwise.


EXECUTE

Executes the command to sync the database.


	RECALC
Use the RECALC command in an entry/exit procedure (EEP) to recalculate expressions in a form.


TABLES

Finds, recalculates, and redraws the lower-level tables to reflect the actions of the entry/exit procedure (EEP).


VARIABLES

Redisplays all variables for the current table.


	RECORD Short name: REC
Use the RECORD command to record a series of keystrokes in a script file.


OFF

Stops recording.


script

Specifies the name of the recorded file. A drive and path specification can be added in the form D:\PATHNAME\FILENAME.EXT.


	RECOVER Short name: RECOV
Use the RECOVER command to start the Recover utility, which corrects errors that occur during transaction processing, for instance from a network or power failure.


dbname

Specifies the database to recover.


	RELOAD Short name: REL
Use the RELOAD command to copy an open database without copying any unusable space.


dbspec

Specifies the new database name.


WITH USER CASE

Incorporates case folding and collating tables defined in the user's configuration file (RBASE.CFG) into the reloaded database.


	RENAME Short name: REN
Use the RENAME command to change a form, report, label, table, view, or column name, and the database owner's user identifier. You can also use RENAME to change the name of an existing file.


COLUMN colname1 TO colname2

Renames a column in one table or in all tables in the open database.


filename

Specifies the new name of the file.


filespec

Specifies the file you want to rename. Optionally, include a drive and path specification in the form D:\PATHNAME\FILENAME.EXT.


FORM formname1 TO formname2

Renames a form in the open database.


IN tblname

Specifies the table in which you want to rename a column.


LABEL labelname1 TO labelname2

Renames a label in the open database.


OWNER ownername1 TO ownername2

Renames an owner in the open database.


REPORT rptname1 TO rptname2

Renames a report in the open database.


TABLE tblname1 TO tblname2

Renames a table in the open database.


VIEW viewname1 TO viewname2

Renames a view in the open database.


NOCHECK

Does not update references to views, tables, and columns in forms, reports, labels, access rights, and rules.


	REPORTS Short name: REP
Use the REPORTS command to start the Report Designer.


rptname

Names a new report (1-18 character name) you want to create, or specifies an existing report whose definition you want to modify.


	RESTORE Short name: RES
Use the RESTORE command to restore part or all of a database from a file created with BACKUP.


filespec

Specifies a file name with a drive and path specification in the form D:\PATHNAME\FILENAME.EXT.


	RETURN Short name: RET
Use the RETURN command in a program to return control to a program or to the R> prompt.


	REVOKE Short name: REV
Use the REVOKE command to remove access rights granted to users.


ALL PRIVILEGES

Removes all access rights granted for all tables and views or for one table or view.


ALTER

Removes permission from users to modify the structure of all tables or specified tables.


CREATE

Removes permission from users to create new tables. Do not specify any tables or views when removing this permission.


DELETE

Removes permission to remove rows from all tables and views, or from a specified table or view.


INSERT

Removes permission to add rows to all tables and views or to a specified table or view.


ON tblview

Specifies a table or view from which to remove access rights.


FROM PUBLIC

Specifies PUBLIC. If, for example, ralph, sam, jane, and PUBLIC have been granted certain user access rights, revoking rights from PUBLIC would not affect the three listed users.


REFERENCES

Removes permission to create a table with a foreign key that references a table with a primary key.


SELECT

Removes permission to view and print data from all tables and views, or from a specified table or view.


UPDATE

Removes permission to change the value of all columns on all tables and views, or on a specified table or view. You cannot specify columns when revoking UPDATE permission.


FROM userlist

Specifies individual users whose access is to be revoked. You must separate user identifiers with a comma (or the current delimiter).


FROM userlist, PUBLIC

Specifies both individual users and PUBLIC, whose access is to be revoked. You must separate user identifiers with a comma (or the current delimiter).


	RMDIR Short name: RMD or RD
Use the RMDIR command to remove a directory from a drive.


d:

Specifies a drive letter.


pathname

Specifies one or more directory names that lead from the root directory to a specified directory.


	ROLLBACK Short name: ROL
Use the ROLLBACK command to cancel the changes made to the data or database structure made since the beginning of the transaction.


	RULES Short name: RUL
Use the RULES command to regulate data entry in a database.


DELETE

DELETE SUCCEEDS deletes a row from a database when the conditions in the WHERE clause are met.

DELETE FAILS deletes a row from a database when the conditions in the WHERE clause are not met.


FAILS

Specifies that a row must not meet the conditions included in the WHERE clause in order to be added to the database.


'message'

Specifies a message to be displayed when a rule is violated.


FOR tblname

Specifies the name of the table for which you are defining rules.


SUCCEEDS

Specifies that a row must meet the conditions included in the WHERE clause in order to be added to the database.


	RUN
Use the RUN command to run command blocks, command files, and command files requiring passed parameters.


cmdfile

Specifies the name of the command block or command file to execute.


SELECT VARCHAR clause

Specifies a column containing the commands to execute; this column is defined with the VARCHAR data type. The SELECT clause must limit the data to only one row; otherwise, an error is returned.


IN procfile

Specifies the name of a procedure file. A procedure file is a compiled binary file that contains stored menu, screen, and command blocks. Include a drive and path name if the procedure file is not on the current drive and directory.


USING parmlist

Lists the values the command file uses when it runs. The parameter list can contain up to nine values. The first value in the list is referenced in the executed file as %1, the second as %2, and so on through %9. They are treated just like other variables. To reference the contents of these variables, preface the variable name with a dot (.); for example, set v1 = .%1.


	SATTACH Short name: SAT
Use the SATTACH command to attach a specified table from a foreign database to a connected R:BASE database.


tblname

Specifies the table to attach.


AS alias

Specifies an alias, or temporary name, for the foreign table.


USING collist

If the foreign table has no primary or unique key, specifies the column(s) that uniquely identify the rows in the table.


USING ALL

If the foreign table has no primary or unique key, specifies that all columns in the table uniquely identify its rows.


	SAVEROW
Use the SAVEROW command in an entry/exit procedure (EEP) to save a row.


	SCONNECT Short name: SCO
Use the SCONNECT command to connect R:BASE to a data source.


datasource

Specifies the data source to connect.


IDENTIFIED BY userid

Specifies the user identifier. When access rights have been assigned using the GRANT command, you must enter an appropriate user identifier with the CONNECT command unless permission has been granted to PUBLIC.


password

Optional; verifies the correct user identifier of the current user of the database.


	SCREEN RESTORE Short name: SCR RES
Use the SCREEN RESTORE command in forms when you want to redisplay the screen after returning from an entry/exit procedure (EEP).


ON

Set SCREEN RESTORE on to redisplay the original form after an entry/exit procedure executes in a form.


OFF

Set SCREEN RESTORE off to prevent the original form from displaying any changes after an entry/exit procedure executes in a form.


	SDETACH Short name: SDE
Use the SDETACH command to remove a foreign table from a connected R:BASE database.


tblname

Specifies the table to detach.


ALL

Specifies all tables.


ALL EXCEPT tblname

Specifies all tables except those specified.


NOCHECK

Eliminates the confirmation message.


	SDISCONNECT Short name: SDI
Use the SDISCONNECT command to disconnect a foreign data source from an R:BASE database.


datasource

Specifies the data source to disconnect.


SELECT CLAUSES


	SELECT clauses
Use the SELECT command to display rows of data from a table or view. To display the data in the order you want, modify the SELECT command by using various clauses.


	SELECT Short name: SEL
Use the SELECT command to display rows of data from a table or view. To display the data in the order you want, modify the SELECT command by using various clauses.


ALL

Specifies all rows returned by the other clauses.


#c

Specifies a column, where #c is the column number shown in the output of the LIST TABLES command. You can enter a table or correlation name before the #c.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname). You can enter tblname.* to specify all columns in the table.


dbname

Database name, plus the drive and directory if the database is not on the current directory. It has the form d:\pathname\dbname where d: is the optional drive letter, \pathname is the optional directory path, and \dbname is the database name.


DISTINCT

Eliminates duplicate rows from the resulting data set.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


FROM

Lists the tables from which data is to be displayed.


INDICATOR

Indicates the following variable is an indicator variable, which is used to indicate if a null value is retrieved.


ind_var

Specifies a variable result indicator to be used with an INTO clause in a SELECT command. This variable stores the status of the variable: non-null or null.


INTO

Selects information directly from a table and puts it into variables. You must include a WHERE clause so the SELECT command finds only one row.


into_var

Specifies a variable whose value is assigned with an INTO clause in a SELECT command.


=S

Calculates the sum of a column that has CURRENCY, DOUBLE, INTEGER, NUMERIC, or REAL data type values, or the results of an expression using CURRENCY, DOUBLE, INTEGER, NUMERIC, or REAL data type values.


tblview

Specifies a table or view name.


USER

Retrieves the current user as a constant.


=w

Specifies a display width.


	SELECT functions
Use SELECT functions in a column or expression to return specific data.


ALL

Specifies all rows returned by the other clauses.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


DISTINCT

Eliminates duplicate rows from the resulting table.


expression

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


MAX

Selects the maximum value in a column. This option accepts columns with any data type except BIT, VARBIT, VARCHAR, and BITNOTE.


MIN

Selects the minimum value in a column. This option accepts columns with any data type except BIT, VARBIT, VARCHAR, and BITNOTE.


	INTO
This optional clause loads the results of a SELECT command into variables, but does not display the results on screen.

An INTO clause loads the resulting value of each column, expression, or function included in the command clause into a variable. If previous clauses have returned more than one row, the values assigned to the variables are unpredictable. You should make sure you are returning only one row. Either test the results before using an INTO clause or check the value of the variable sqlcode after executing the command. If the clause is successful, sqlcode is 0.


	FROM
The required FROM clause names one or more tables and/or views from which the information is used in the SELECT command.


	OUTER JOIN
Use an outer join to combine rows from two tables.

See also

About the OUTER JOIN Command


	About the OUTER JOIN Command

When you use an outer join, rows are not required to have matching values. The table order in the FROM clause specifies the left and right table. You can include a WHERE clause and other SELECT clause options such as GROUP BY. The result set is built from the following criteria:

  In all types of outer joins, if the same values for the linking columns are found in each table, R:BASE joins the two rows.

  For a left outer join, R:BASE uses each value unique to the left (first) table and completes it with nulls for the columns of the right (second) table when the linking columns do not match.

  A right outer join uses unique values found in the right (second) table and completes the rows with nulls for columns of the left (first) table when the linking columns do not match.

  A full outer join first joins the linking values, followed by a left and right outer join.


sel_func

Specifies one of the SELECT functions: SUM, AVG, MIN, MAX, or COUNT.


FROM lefttblview

Specifies the left table or view.


LEFT

RIGHT

FULL

Specifies the type of outer join.


OUTER JOIN righttblview

Specifies the right table or view.


lefttblview

Explicitly defines the column on which to link--specify the left table name or view.


righttblview

Explicitly defines the column on which to link--specify the right table name or view.


.column1

Explicitly defines the column on which to link.


.column2

Explicitly defines the column on which to link.


GROUP BY clause

Groups data for display and performs computations using the SELECT functions. For more information, see the GROUP BY command.


HAVING clause

Limits the rows affected by the GROUP BY clause. For more information, see the HAVING command under the SELECT command.


	WHERE
Use this optional clause to qualify or restrict rows.


	Sub-SELECT
Use a Sub-SELECT statement in a WHERE clause to return summary information on a column.


ALL

Specifies all rows returned by the other clauses.


#c

Specifies a column, where #c is the column number shown in the output of the LIST TABLES command. You can enter a table or correlation name before the #c.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


dbname

Specifies a database name, plus the drive and directory if the database is not on the current directory. It has the form d:\pathname\dbname where d: is the optional drive letter, \pathname is the optional directory path, and \dbname is the database name.


DISTINCT

Eliminates duplicate rows from the resulting table.


expression

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


GROUP BY colname

Returns a groups of rows as a summary results in only unique rows. This option is generally used with functions. For more information, see the GROUP BY clause.


HAVING condlist

Limits rows, similar to the WHERE clause, for each group defined by a GROUP BY clause. For more information, see the HAVING command under the SELECT command.


sel_func

Specifies one of the SELECT functions: SUM, AVG, MIN, MAX, or COUNT. For more information, see the SELECT functions.


tblview

Specifies a table or view name.


USER

Retrieves the current user as a constant.


	GROUP BY
Use a GROUP BY clause in a SELECT command to group results by distinct values.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


DISTINCT

Eliminates duplicate rows from the resulting table.


expression

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


GROUP BY

Returns a groups of rows as a summary resulting in only unique rows. This option is generally used with SELECT functions.


HAVING condition

Limits rows for each group defined by a GROUP BY clause. For more information, see the HAVING command under the SELECT command.


HAVING clause

Limits the rows affected by the GROUP BY clause.


	HAVING
Use a HAVING clause to qualify or restrict the rows affected by a command.


AND

OR

AND indicates two conditions must both be true.

OR indicates either condition must be true.


condition

Specifies a combination of one or more expressions and/or operations that would evaluate to either true or false.


NOT

Reverses the meaning of an operator or indicates that a condition is not true.


Conditions for using the WHERE Command
	Conditions for the WHERE Command
These are the conditions for using the WHERE command.


Conditions for using the HAVING Command
	Conditions for the HAVING Command
These are the conditions for using the HAVING command.


	ORDER BY
This optional clause sorts rows according to the values in one or more columns. ORDER BY affects only the display of information, not its selection or the way it is stored.


	UNION
Use the UNION operator to combine the result of two SELECT commands or clauses, displaying the results of the second SELECT command below those of the first. By default, UNION deletes duplicate rows. You cannot combine sub-SELECT commands using UNION.

The UNION operator requires three conditions:

  The SELECT statements must specify an equal number of columns.

  Columns that are being combined must have the same data type.

  Only the last SELECT statement can contain an ORDER BY clause.

R:BASE supports the UNION operator whenever you use SELECT as a command or clause, but the current ANSI SQL standard supports UNION only in the DECLARE CURSOR command.


SELECT clause

See the SELECT clause in the SELECT command.


FROM clause

See the FROM clause in the SELECT command.


ALL

Specifies to include duplicate rows in the final result. By default, UNION deletes duplicate rows.


	SET USER
Use the SET USER command to run R:BASE with a user identifier and password, if one has been set up.

See also

About the SET USER Command


	About the SET USER Command

Passwords are specific to user identifiers and databases and are not required by R:BASE; however, once a password is set up, R:BASE prompts for the user's password every time the user connects to the database or issues his/her user identifier. User identifiers have a maximum length of 18 characters. Passwords have a minimum length of three characters and maximum length of 18 characters.

To run R:BASE with your user identifier, connect to the database and enter the following command line at the R>prompt:

SET USER <Userid>

You can also enter the following command line to run R:BASE with your user identifier:

SET USER

R:BASE displays a dialog box and prompts you for your user identifier.

When a password has been set up for a user identifier, R:BASE prompts for the password after the correct user identifier has been entered.

Note: When a user enters a user identifier or password in a dialog box, the user identifier does not display on screen.

To add or change a password, connect to the database with the user identifier and enter the following command line:

SET USER PASSWORD

R:BASE prompts for the user's identifier, then prompts for the password. A user can cancel a password by entering NONE.

If the database owner is the current user, the database owner can assign him/herself a password using the SET USER PASSWORD command; however, if the database owner forgets the assigned password, the password cannot be found or changed.

As the database owner, to change a user's password, connect to the database and enter the following command line:

SET USER PASSWORD FOR <Userid> TO <Password>

Enter your current password when R:BASE prompts you for it, then when R:BASE prompts you for a new password, enter NONE.

Note: A user's password is revoked when the database owner revokes all the user's privileges.


password

Creates a new password. Enter NONE to remove an existing password.


PASSWORD

Specifies or changes the password for the current user identifier.


FOR userid

Specifies a user identifier.


TO password

Creates a new password. Enter NONE to remove an existing password.


userid

Specifies a user identifier.


	SET VARIABLE Short name: SET VAR
Use the SET VARIABLE command to define or redefine a variable value and/or data type.


&varname

Sets the first variable equal to the exact contents of a second variable; the ampersand tells R:BASE to evaluate the contents of the variable first.

For example, if varname=(2+3), then &varname will be the value 5.


.varname

Sets the first variable equal to the exact contents of a second variable.

For example, if varname=(2+3), then .varname will be (2+3).


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


colname

Specifies a 1 to 18 character column name. In a command, you can enter #c, where #c is the column number shown when the columns are listed with the LIST TABLES command. In an SQL command, a column name can be preceded by a table or correlation name and a period (tblname.colname).


datatype

Specifies an R:BASE data type for the variable.


IN tblview

Specifies a table or view.


NULL

Sets the variable equal to NULL.


value

Sets the variable equal to a specified value. A value is a constant amount, text string, date, or time, or the value assigned to a chrname setting.


varname

Specifies a 1 to 18 character variable name. All characters must be unique among the variable names within the database.


	SETFOCUS
Use the SETFOCUS command to return focus to an MDI form from within an application. If this command is used in a command file, it behaves like the RETURN command.


alias

Specifies a window name, which is the name given to the instance of a form started with the MDI option when using the AS alias option with the EDIT USING command.


WAIT

Halts the application until the user either closes the form, or clicks in the application window.


	SHOW Short name: SHO
Use the SHOW command to display the status of system parameters, format conditions, and default conditions.


CHARACTERS

Shows the current settings for the BLANK, DELIMIT, LINEEND, MANY, PLUS, QUOTES, SEMI, and SINGLE special characters.


keyword

Shows the current setting for the environment condition specified in the keyword option.


	SHOW ERROR Short name: SHO ERR
Use the SHOW ERROR command without a variable name to display error-message status, which can be on or off.


varname

Specifies the name of the error variable, defined with the SET ERROR VARIABLE command. Alternatively, varname can be a global variable that captures the value of an error code from the defined error variable. If you enter the SHOW ERROR command without the varname option, R:BASE tells you whether error messages are on or off.


AT scrnrow, scrncol

Defines the screen row and column at which to display the first character of the error message. Screen rows are between 1 and 25 and screen columns are between 1 and 80.


	SHOW VARIABLE Short name: SHO VAR
Use the SHOW VARIABLE command to display the current values and data types of global variables.


AT scrnrow, scrncol

Defines the screen row and column where the first character of the value of the variable is displayed. Text values are left justified and numeric values are right justified within the display width specified by the =w option. Screen rows range from 1 to 25 and screen columns from 1 to 80.


varname

Specifies a variable to be displayed. You can use wildcards to display variables that match a specific pattern.


=w,h

Specifies a maximum width and number of lines for the display of the variable. Long text variables are displayed on multiple lines. The =w,h option is limited to 30 characters and one line for these data types: CURRENCY, DATE, DATETIME, DOUBLE, INTEGER, NUMERIC, REAL, and TIME. When using the =w,h option for BIT, BITNOTE, LONG VARCHAR, LONG VARBIT, NOTE, TEXT VARCHAR, and VARBIT variables, you can widen the display and set the total number of lines to display. If h is omitted, the value defaults to the number of lines needed to display the text for LONG VARCHAR, NOTE, TEXT, or VARCHAR data types, and only displays the file type for BIT, BITNOTE, LONG VARBIT, and VARBIT data types.


	SKIP Short name: SKI
Use the SKIP command in an entry/exit procedure (EEP) to automatically skip fields in a form.


n

Specifies the number of fields you want to skip, where n is a positive or negative integer. Use positive numbers to move forward through the field order in the form, and negative numbers to move backward. When you establish a value for n, count only those fields that allow you to enter or edit data.

SKIP 0 returns you to the same field.


TO fldname

Specifies the field to which you want to skip, either forward or backward through the field order, where fldname is the column or variable name associated with a field.


	SNAP Short name: SNA
Use the SNAP command to capture the current screen as a file that can be displayed later with the DISPLAY command.


filespec

Specifies a file name of the screen capture with a drive and path specification in the form D:\PATHNAME\FILENAME.EXT.


	SSQL
Use the SSQL command to pass SQL commands through R:BASE to the foreign data source, where the commands will be interpreted and executed.


SQL command

Specifies the SQL command to send.


	SUBTRACT Short name: SUB
Use the SUBTRACT command to form a new table by subtracting rows in one table from a second table based on common columns.


FORMING tblname3

Specifies the name of the table that is produced when you subtract one table from another.


FROM tblname2

Specifies the name of the table from which you want to subtract another table.


tblname1

Specifies the name of the table you want to subtract from a second table.


USING collist

Specifies the columns and order of columns that you want to include in the new table. At least one column in the USING clause must exist in both tables. If you do not include the clause, R:BASE makes a new table that includes all columns from both tables.


	SWITCH... ENDSW Short name: SWI...ENDSW
Use the SWITCH...ENDSW command in a program to define a block of possible actions to take depending on the value of an expression.


BREAK

Ends SWITCH processing; use this option within each CASE comparison and in the DEFAULT block.


case-block

Contains one or more commands to execute if the CASE value matches the SWITCH expression.


CASE value

Compares the SWITCH value to another value. If the values match, the commands following CASE are executed; otherwise, the next CASE comparison is checked.


DEFAULT

Provides commands to execute if no CASE comparisons are true.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


default-block

Contains one or more commands to execute if no CASE comparisons are true.


	TALLY Short name: TAL
Use the TALLY command to count the occurrence of identical values in a column.


colname

Specifies the name of the column from which you want to tally information.


	TILE
Use the TILE command to tile the open windows.


	TRACE Short name: TRA
Use the TRACE command to debug command blocks, command files, or command files requiring passed parameters.


cmdfile

Specifies the name of the command file to debug.


IN procfile

Specifies the name of a procedure file. A procedure file is a compiled binary file that contains stored menu, screen, and command blocks. Include a drive and path name if the procedure file is not on the current drive and directory.


USING parmlist

Lists the values the command file will use when it executes. The parameter list can contain up to nine values. The first value in the list is referenced in the executed file as %1, the second as %2, and so on through %9. They are treated just like other variables. To reference the contents of these variables, preface the variable name with a dot (.); for example, set v1 = .%1.


	TYPE Short name: TYP
Use the TYPE command to send an ASCII text file to another file, screen, or printer.


filespec

Specifies a file name with a drive and path specification in the form D:\PATHNAME\FILENAME.EXT.


	UNION Short name: UNI
Use the UNION command to combine the columns and rows of two tables into a new table.


FORMING tblname3

Specifies the name of the new table that is produced.


tblname1

Specifies the name of one of two tables you will combine.


WITH tblname2

Specifies the name of the second of two tables you will combine.


USING collist

Specifies the columns and order of columns that you want to include in the new table. At least one column in the USING clause must exist in both tables. If you do not include the clause, R:BASE makes a new table that includes all columns from both tables.


	UNLOAD Short name: UNL
Use the UNLOAD command to copy the data, structure, or data and structure of a database or table to a specified output device.


ALL

Unloads both the data and the structure.


AS ASCII

Unloads data in ASCII-delimited format. Use only with the UNLOAD DATA command.


DATA

Unloads just the data.


DATA FOR viewname AS ASCII

Unloads data for a specific view in an ASCII-delimited format.


FOR tblname

Specifies a single table to unload. If this clause is not used, all tables in the database are unloaded.


STRUCTURE

Unloads just the structure.


STRUCTURE FOR viewname

Unloads the SQL command necessary to create a specific view.


	UPDATE Short name: UPD
Use the UPDATE command to change the data in one or more columns in a table or a view.


SET colname

Specifies the column to update.


(expression)

Determines a value using a text or arithmetic formula. The expression can include other columns from the table, constant values, functions, or system variables such as #date, #time, and #pi.


FROM tbllist

Specifies a list of tables from which data can be retrieved and updated.


NULL

Sets the values in the column equal to null.


table

Specifies a table.


tblview

Specifies a table or view. If no table or view name is included, columns will be updated in all tables containing the specified columns, according to the conditions of the WHERE clause.


value

Specifies a value to enter in the specified column.


.varname

Specifies a global variable that provides a value for a column.


WHERE CURRENT OF cursor

Specifies a cursor that refers to a specific row to be affected by the UPDATE command. With this option, you must specify tblview.


	UPGRADE
Creates the R:BASE 5.5 system tables in 4.5++ databases. If you do not upgrade the database, you will be prompted each time you access the database in a Designer. You must be in single-user mode.


	WHENEVER Short name: WHEN
Use the WHENEVER command in a program to check error conditions and run a set of commands designed to handle the error.


CONTINUE

Turns off error checking by the WHENEVER command.


GOTO lblname

Passes control to the command following the indicated LABEL command.


NOT FOUND

Indicates that no rows were found by the command (sqlcode equals 100).


SQLERROR

Indicates that a processing error of any type other than data-not-found was detected (sqlcode is less than zero).


	WHERE Short name: WHER
Use a WHERE clause in commands to qualify or restrict the rows affected by a command.


AND

Indicates the following condition must be met along with the preceding condition.


condition

Identifies requirements to be in the WHERE syntax.


NOT

Reverses the meaning of a connecting operator. AND NOT, for example, indicates that the first condition must be met and the following condition must not be met.


OR

Indicates the following condition can be met instead of the preceding condition.


	WHILE... ENDWHILE Short name: WHI...THE...ENDW
Use the WHILE...ENDWHILE structure in a program to continuously run a set of commands based on a specified condition.


condlist

Specifies a list of conditions that identify the requirements to be met.


while-block

Specifies commands to be executed if the WHILE condition is true.


	WRITE Short name: WRI
Use the WRITE command to send a message to an output device.


AT scrnrow, scrncol

Specifies a row and column coordinate to indicate the position of the first character of the message. Rows range from 1 to 25 and columns from 1 to 80.


forecolor

Specifies the foreground color. Valid foreground colors are black, blue, brown, cyan, green, gray, magenta, red, light black, light blue, light cyan, light green, light magenta, light red, yellow, and white.


'message'

Specifies a message to be displayed on the screen.


ON backcolor

Specifies the background color. Valid R:BASE background colors are black, blue, brown, cyan, green, gray, magenta, yellow, white, and red.


REVERSE

Displays a reverse video message based on the current screen colors. You cannot specify both colors and REVERSE.


USING format

Specifies a display format for the message or variable.


.var

Specifies a dot variable of any data type, which can be used instead of a message.


.varname

Specifies a dot variable to write to a file. The variable must be one of the following data types: VARBIT, VARCHAR, BIT, or BITNOTE.


TO filename

Specifies the file to which to write the dot variable.


=w

Specifies the display width for a column or variable.


	ZIP
Use the ZIP command to execute external programs without closing a database or leaving R:BASE.


progname

Specifies the name of the external program to execute.


Common Syntax Options


ASC

DESC

Specifies whether to sort a column in ascending or descending order.


AVG

Computes the numeric average of CURRENCY, DOUBLE, NUMERIC, REAL, INTEGER, DATE, or TIME data types. R:BASE rounds averages of integer values to the nearest integer value and currency values to their nearest unit.


CASE

Specifies that the data values will be case sensitive.


CHECK (condition)

Sets a condition to be satisfied before an update or insertion of a row can occur, which creates an R:BASE rule.


corr_name

Correlation name. A nickname or alias for a table or view name. Use corr_name to refer to the same table twice within the command, or to explicitly specify a column in more than one table.


COUNT

Determines how many non-null entries there are for a particular column item.


(<FKMSG>)

Creates a constraint violation message to appear whenever a foreign-key data integrity violation occurs. The message can suit the meaning of your data, such as "You must enter a valid number" for a foreign-key constraint violation. You can define two messages: one for inserting and one for updating. A constraint must be dropped, then recreated in order to modify the violation message.


FOREIGN INDEX

With the FASTFK setting on, creates a foreign key that has an index using row pointers for data retrieval on selected columns.


FOREIGN KEY

Specifies a column or set of columns required to match values in a particular primary key or unique key constraint defined in a table.


FROM tblname

Specifies the table name.


FROM tblview

Specifies the table or view.


MDI

Specifies a modeless window--a modeless window allows you to access other windows without closing the current window first.


(<NNMSG>)

Creates a constraint violation message to appear whenever a not-null data integrity violation occurs. The message can suit the meaning of your data, such as "You must enter a valid number" for a not-null constraint violation. A constraint must be dropped, then recreated in order to modify the violation message.


NOQBE

Prevents users from switching from the Data Browser to Query By Example. Like the NOCHG option, this option provides security because it stops users from changing the scope of the BROWSE and EDIT commands. Unlike the NOCHG option, however, users can switch between editing and browsing data in columns. Data in columns specified as read-only with the =READ option cannot be edited.


ORDER BY clause

Sorts rows of data. For more information, see the ORDER BY command.


(<PKMSG>)

Creates a constraint violation message to appear whenever a primary-key data integrity violation occurs. The message can suit the meaning of your data, such as "You must enter a valid number" for a primary-key constraint violation. You can define three messages: one for uniqueness, one for deleting, and one for updating. A constraint must be dropped, then recreated in order to modify the violation message.


PRIMARY KEY

Specifies the column(s) to designate as a primary key.


STDEV

Computes standard deviation for CURRENCY, DOUBLE, REAL, NUMERIC, or INTEGER data types.


SUM

Computes the numeric sum of CURRENCY, DOUBLE, REAL, NUMERIC, or INTEGER data types.


(<UMSG>)

Creates a constraint violation message to appear whenever a unique-key data integrity violation occurs. The message can suit the meaning of your data, such as "You must enter a valid number" for a unique-key constraint violation. You can define three messages: one for uniqueness, one for deleting, and one for updating. A constraint must be dropped, then recreated in order to modify the violation message.


UNIQUE

Requires the values in a column to be unique.


USING collist

Specifies the column(s) to use with the command.


VARIANCE

Determines variance for CURRENCY, DECIMAL, DOUBLE, FLOAT, REAL, NUMERIC, INTEGER, or SMALLINT data types.


WHERE clause

Limits rows of data. For more information, see the WHERE command.


WORK

This keyword is optional and has no effect in R:BASE.


USER

NULL

(value)

Default USER: Specifies the default value to be the user identifier.

Default NULL: Specifies the default value to be null.

Default (value): Specifies the default to be the indicated value.


*

Specifies all columns.


,

Indicates that this part of the command is repeatable.


Topics


Binary Large Objects


Binary Large Objects

Binary large objects (BLOBs) can be added to your database. R:BASE recognizes the following file formats for images: .BMP, .GIF, .PCX, and .TIF. Text files can be in any ASCII format. The recommended data type for images is LONG VARBIT, for large text files, LONG VARCHAR.

Use the INSERT or LOAD command to add binary large objects to your database. After the binary large object is loaded, the file is in the database, so you do not need the disk file. Following is an example of an INSERT command that adds a binary large object to a database:

INSERT INTO IMAGES (ID, IMAGEDATA) VALUES +
(1, ['filename.bmp'])

An binary large object cannot be edited. You can replace the binary large object by using the UPDATE command.

Images and large object data cannot be added to a database by using the menu system.

Binary large objects can be placed for viewing in forms and reports by placing the column or variable containing the binary large object in the form or report. When you run a form, you can enter or edit a reference to a binary large object by pressing [Shift] + [F10]. In an application program, you can use the SET VARIABLE command to define a variable that is equal to the file name that contains the binary large object.

Use the SHOW VARIABLE command to display an image. To display an image with the SHOW VARIABLE command, you must use the =w,h option, which defines the width and height of your image. To display an entire image in a form or report, the field for the image that is placed on the form or report must be large enough to accommodate the entire image. The image is a fixed size. You cannot reduce the size of your image by reducing the measurements in the =w,h option, or by reducing the size of the field that was placed on the form or report. If you reduce the size of the field that was placed on a form or report, the image will be truncated.

If you use SHOW VARIABLE without the =w,h option or the SELECT command, R:BASE only shows you the file type of the image.

You can write a variable that has a VARBIT or VARCHAR data type back to a file using the WRITE command, for example:

WRITE .v1 TO filename

The BACKUP and UNLOAD commands create a file with a .LOB extension for binary large objects, and a file for the data and/or structure. The Backup/Restore Database option from the Utilities menu creates files similar to a DOS backup.

See also

Data Types

"Backup/Restore" dialog box

"Variable Object Properties" dialog box

BACKUP Command

INSERT Command

LOAD Command

SELECT Command

SET VARIABLE Command

SHOW VARIABLE Command

UNLOAD Command

WRITE Command

How to...

Place a field on a form

Place a field on a report

Place a field on a label


Constraints


Constraints

To control the data that enters your database, you can apply powerful data-integrity rules called constraints. By applying a constraint to a column, you can prevent irreconcilable and empty data from being entered. R:BASE uses the following constraints:

Primary Key

Unique Key

Foreign Key

Constraints cannot be turned off and are always enforced; you must delete the constraint if you do not want it. However, because R:BASE works with constraints faster, use constraints instead of rules when possible.

You can remove constraints from columns. If you want to remove a primary- or unique-key constraint, you must first remove the foreign-key constraints that refer to it.

See also

ALTER TABLE Command

CREATE INDEX Command

RBDefine

SET FASTFK Command

How to...

Apply a constraint to a column

Remove a constraint


Primary Key

A column or set of columns that uniquely identify a row; in other words, each value in a primary key column is unique. A primary-key constraint prevents duplicate (non-unique) and null values from being entered. Even if you do not specifically define a constraint, all tables (in a well-designed database) should have a primary key. You can define one primary key per table.


Unique Key

A column or set of columns that uniquely identify a row; in other words, each value in a unique-key column is unique. A unique-key constraint prevents duplicate (non-unique) and null values from being entered. The only difference between a unique key and a primary key is that you can define multiple unique keys per table.


Foreign Key

A column or set of columns that match values in a particular primary key or unique key defined in a different table. A value cannot be inserted or changed.


Displaying Fonts


Displaying Fonts
The following topic applies to those who use one database in both DOS and Windows versions of R:BASE, or those who use international character sets.

Topics:

 How DOS and Windows Display Fonts

 How R:BASE Displays Fonts

 Problems When Displaying Data

 Problems when Displaying Higher Order (Non-Keyboard) Characters


 How DOS and Windows Display Fonts

DOS uses a code page, or character set, to determine which font to use when displaying data. For instance, the United States character set is usually 437. If a program needs a particular character set, for instance a program that uses French characters, the character set is usually changed by the program itself through a BIOS call.

Windows uses a different system for displaying fonts. However, Windows also uses a code page, or character set, when displaying data in a DOS window. This character set corresponds to the Windows "Terminal" font. You can change the Windows character set when you set up Windows.


 How R:BASE Displays Fonts

When you display data in R:BASE for DOS, the font is determined by the DOS character set.

When you display data in R:BASE for Windows, the font depends on if you display data in the Data Browser or the R> Prompt:

  The Data Browser uses the "System" font by default. To select a different font, choose Layout: Change Font.

  The R> Prompt can display one of three fonts--OEM, ANSI, and System. The OEM font corresponds to the "Terminal" font, which corresponds to the Windows character set. You can change the R> Prompt font using the SET FONT command, for example "SET FONT OEM."


 Problems When Displaying Data

You can display data from R:BASE for DOS in R:BASE for Windows, and vice versa. If the data is not displayed the same or you see characters you don't expect, the problem is most likely due to different fonts, not corrupted data.

The DOS character set is usually the same or is compatible with the Windows character set. To ensure that Windows data is displayed the same as in DOS, display and enter the Windows data using the "Terminal" font, which corresponds to the Windows character set:

  In the Data Browser, choose Layout: Change Font... and select the "Terminal" font

  In the R> Prompt, enter the "SET FONT OEM" command to use the "Terminal" font

However, if you still see a discrepancy in data, the DOS character set might be different than the Windows character set. To correct this problem, you must change one character set to match the other.

Or, if you used one DOS system to enter data but you used a different DOS system to display the data, you might see a discrepancy in data display if the two DOS systems use different character sets. To correct this problem, you can change the character set in the second system to match the character set used by the first--if you know which character set was used.

You can change the Windows character set when you set up Windows. For more information about changing DOS character sets, refer to "Changing Character Sets" in the "Customizing for International Use" section in the MS-DOS User's Guide.


 Problems when Displaying Higher Order
    (Non-Keyboard) Characters

When you want to use a character that is not on the keyboard, such as an accented character, you must enter it by pressing the [ALT] key plus the character code. This character code corresponds to the current font or character set; if you change the font or character set, a different character might be displayed for that code number.

This character code system is used in both DOS and Windows; however, Windows requires you to enter a zero before the character code ([ALT] + 0 + the character code). If you enter character codes in R:BASE for DOS without the leading zero then display the data in R:BASE for Windows, the data might not appear the same. To resolve this problem, enter the leading zero when entering these characters in R:BASE for DOS.


EEPs


Entry/Exit Procedures (EEPs)
Entry and exit procedures (EEP) are command files that can be run within forms. Developers program entry/exit procedures for numerous objectives--you have great versatility for controlling data processing and displays.

EEPs can be executed in the following places:

  Upon entry in a field

  Upon exit from a field

  Upon entry in a row

  Upon exit from a row before updating the row in the database

  Upon exit from a row after updating the row in the database

  Upon changing sections (tables) in the form

EEP Topics

EEP Specific Commands

Field Calculations

Redisplaying Field Values

RECALC Command Options

Screen Data Displays

EEP Restrictions

EEP Example


 EEP Specific Commands

The following commands are used specifically for entry/exit procedures:

NEWROW

NEXTROW

NEXTTAB

PREVROW

PREVTAB

RECALC

SAVEROW

SCREEN RESTORE

SKIP

EEP Topics

Field Calculations

Redisplaying Field Values

RECALC Command Options

Screen Data Displays

EEP Restrictions

EEP Example


 Field Calculations

You might, for example, write an entry/exit procedure that totals the weights of ordered items and calculates the appropriate shipping charge upon entry in a field. When you want the procedure to check a value that has been entered in a field, the value must be loaded into a variable, not a column. To load the value into a column, use an expression in the form to set the column equal to the variable.

The R:BASE SKIP command is designed for use with entry/exit procedures in forms. Use SKIP to tell R:BASE to skip over or skip back a specified number of fields, or skip to a specified field. For example, the following entry/exit procedure tells the form to skip to the field with the column amount if there was any value in the variable vcashtype.

IF vcashtype IS NOT NULL THEN
        SKIP TO amount
ENDIF
RETURN

EEP Topics

EEP Specific Commands

Redisplaying Field Values

RECALC Command Options

Screen Data Displays

EEP Restrictions

EEP Example


 Redisplaying Field Values

R:BASE can automatically redisplay a value in a field resulting from an EEP performed on the field. The field must be a variable, and the EEP must be started from the field you want redisplayed.

Include the following steps in the EEP:

  Load the new value into the variable.

  Recalculate the expression with the RECALC command to ensure that expressions based on variables modified by the EEP are always current. RECALC calculates variables dependent on the variable the EEP is associated with.

If you want to load the value into a column, create a form expression that equates the variable and the column, or use a playback file to return a value to the field.

EEP Topics

EEP Specific Commands

Field Calculations

RECALC Command Options

Screen Data Displays

EEP Restrictions

EEP Example


 RECALC Command Options

The RECALC command, with no options, redisplays the variable in the field that initiated the EEP. By using the RECALC VARIABLES command, all table variables are redisplayed without having to associate them with expressions in the form.

The RECALC TABLES command allows you to immediately display updated values in the lower tables in the form to reflect the actions of the EEP.

You can include both a RECALC VARIABLES and a RECALC TABLES command in your EEP.

EEP Topics

EEP Specific Commands

Field Calculations

Redisplaying Field Values

Screen Data Displays

EEP Restrictions

EEP Example


 Screen Data Displays

When you run a form, if any EEP in the form writes information to the "R:BASE Form" window, then all EEPs for that form must include a SCREEN RESTORE OFF command so that R:BASE does not refresh the screen and remove any data written to the screen by an EEP.

However, the user might want to write data to the screen or perform a variety of types of video I/O (input and output) and have it remain there when the EEP has finished executing. To do this, insert the following line as the last line in the EEP to tell R:BASE not to redraw the screen when the EEP completes:

SCREEN RESTORE OFF

This technique actually allows a high degree of flexibility for screen I/O to a form from an EEP. An EEP might do other things, such as change the colors on the screen based on form or database values.

To tell R:BASE to return to the normal mode of redrawing the screen, include the SCREEN RESTORE ON command in an EEP. The SCREEN RESTORE command works only within an EEP and results in an error if entered at the R> prompt.

EEP Topics

EEP Specific Commands

Field Calculations

Redisplaying Field Values

RECALC Command Options

EEP Restrictions

EEP Example


 EEP Restrictions

Command Restrictions

R:BASE executes a RUN command when you include an EEP in a form. However, there are restrictions on the command syntax and the types of commands you can use in an entry/exit procedure. In your entry/exit procedures do not include commands that do the following:

  Change the structure of your database, such as the CREATE TABLE command.

  Change access rights, such as the GRANT command.

  Start other R:BASE modules, such as the REPORTS command

Function Restrictions

In an EEP that uses the CHKKEY function, you need to replace the CHKKEY function with a PAUSE command. Windows interrupts and takes the key specified by the CHKKEY function before the key can be passed to the CHKKEY function; therefore, the EEP does not receive the information that a key was pressed. In programs run from the R> prompt, the CHKKEY function runs correctly.

EEP Topics

EEP Specific Commands

Field Calculations

Redisplaying Field Values

RECALC Command Options

Screen Data Displays

EEP Example


 EEP Example

The following example of an EEP involves a family database comprised of two tables, family and members, designed to keep track of family members and their ages. The family table has columns for family name (fname), address (address), and city (city). The members table has columns for a family member's name (mname) and age (age).

In the family form, one field holds the variable v1, which keeps a running total of the number of family members. The variable v1 is set to increment based on the number of members in the members table. A variable vfname is set to the fname value of the family table so that the EEP (FENTRY.EEP) is able to correctly link the rows in the members table to the family table. The EEP name is placed in the "On Row Entry" box in the "Table Settings" dialog box in the Forms Designer, and consists of the following expressions:

*(fentry.eep)
SET VARIABLE v1 = count(mname) from members +
    WHERE fname = .vfname
RECALC VARIABLES

When the form is run, the FENTRY.EEP is run upon entry in the row. When [F2] is pressed to leave the fname field, an EEP (FEXIT.EEP) is run that prompts for a new family member and age to add to the members table. The EEP is placed in the "On Exit from Field" box in the "Field Settings" dialog box for the fname column of the family table, and consists of the following expressions:

*(fexit.eep)
SET VARIABLE vkey = (lastkey(0))
IF vkey = '[F2]' THEN
    SET VARIABLE vmname TEXT = ' '
    SET VARIABLE vage TEXT = ' '
    DIALOG 'Enter name of member to add' vmname +
          vendkey 1 AT 17
    SET VARIABLE dmess = ('Enter the age for' & .vmname)
    DIALOG .dmess vage vendkey 1 AT 17
    SET VARIABLE vint = (int(.vage))
    INSERT INTO members VALUES (.vfname,.vmname,.vint)
    SET VARIABLE v1 = count(mname) from members +
          WHERE fname = .vfname
    RECALC VARIABLES
    RECALC TABLES
ENDIF

Upon return to the form from FEXIT.EEP, FENTRY.EEP executes and recalculates the members table resulting in the redisplay of the v1 variable and shows the updated tally of family members, which is accomplished by using the RECALC VARIABLES and TABLES commands.

EEP Topics

EEP Specific Commands

Field Calculations

Redisplaying Field Values

RECALC Command Options

Screen Data Displays

EEP Restrictions


Expressions


Expressions

Expressions calculate values by combining variables, columns, functions, constants, and operators. Expressions define computed columns and assign values to variables.

Expressions are mathematical or text formulas used to calculate new values by manipulating existing values.

Expression Topics

Expression Operators

Rules for Defining Expressions

Expression Data Types

Displaying the Calculated Values of Expressions

Examples of Expressions


 Expression Operators

Expressions combine existing values using operators. The Operators Used in Expressions Table lists the operators used in R:BASE expressions.

Expression Topics

Rules for Defining Expressions

Expression Data Types

Displaying the Calculated Values of Expressions

Examples of Expressions


 Operators Used in Expressions

Operator	Type	Example
+	Unary plus	SET VARIABLE var1 = +.var1
	Unary minus	SET VARIABLE var1 = -.var1
**	Exponentiation	SET VARIABLE var1 = (.var2**2)
*	Multiplication	SET VARIABLE var1 = (.var2 * 100)
/	Division	SET VARIABLE var1 = (.var2 / 100)
+	Addition	SET VARIABLE var1 = (.var2 + 1)
	Subtraction	SET VARIABLE var1 = (.var2 - 1)
+	Concatenation (with no space)	SET VARIABLE var1 = ('light' + 'bulb') (forms lightbulb)
&	Concatenation (with a space)	SET VARIABLE var1 = ('light' & 'bulb') (forms light bulb)
Operators used in expressions determine the type of calculations to make.


 Rules for Defining Expressions

If you use a constant value in an expression and the constant contains one of the separator characters (+, -, *, /, &, **, (, ), comma, or space), enclose the constant in quotation marks. For example, if you use a date constant such as 01/15/93 in an expression, enclose the date in quotation marks:  '01/15/93'.

Note: Be sure to use the quote characters set in the Quotes setting, which you can verify by choosing Utilities: Settings.

Expressions can contain up to 160 characters. Each R:BASE command can contain up to 40 expressions wherever expressions are legal. For example, you can define up to 40 computed columns in a table. An expression can contain a maximum of 50 items (an item can be an operator or an operand).

Expressions can contain one or more R:BASE math functions, each of which counts as an item.

You can use the value of a global variable in an expression by placing a period before the variable name, as in .variable.

As a standard practice, you should place single quotation marks around text strings to ensure that R:BASE interprets them correctly.

Follow these general rules when defining expressions:

  Set the data type of a variable before assigning it a value, for example:

SET VARIABLE V1 CURRENCY, V2 INTEGER

  Enclose text strings in quotation marks.

  Begin each variable name with the letter v to distinguish variables from column names and constants, for example, v1 or vcounter.

  Do not give a variable the same name as a column.

  If the syntax calls for a value, use a dot variable, for example, .v1 or .vnum.

Expression Topics

Expression Operators

Expression Data Types

Displaying the Calculated Values of Expressions

Examples of Expressions


 Expression Data Types

You can use any data type in an expression. The new binary and character large object data types (BIT, BITNOTE, LONG VARBIT, LONG VARCHAR, VARBIT, AND VARCHAR), although they are valid only in equality operations, are not recommended for use in expressions. The Data Type Results Table lists the data type results when specific data type values are used.

Expression Topics

Expression Operators

Rules for Defining Expressions

Displaying the Calculated Values of Expressions

Examples of Expressions


 Data Type Results

Data Type	Yields
CURRENCY	CURRENCY. However, dividing CURRENCY by CURRENCY yields DOUBLE.
DATE	DATE  DATE = INTEGER (days) DATE + INTEGER = DATE DATE  INTEGER = DATE
DATETIME	DATETIME  DATETIME = DATETIME (smallest specified time unit)
TIME	TIME  TIME = INTEGER (smallest specified time unit) TIME + INTEGER = TIME TIME  INTEGER = TIME
TEXT	Either TEXT or NOTE. A TEXT expression can contain only text strings, text functions, or concatenation operators (+ or &).
NOTE	Either NOTE or TEXT. A NOTE expression can contain only text strings, text functions, or concatenation operators (+ or &).
INTEGER	Depends on data types of the other elements and on order of calculation in the expression. INTEGER + REAL = REAL, INTEGER + DOUBLE = DOUBLE.


 Displaying the Calculated Values of
    Expressions

When an expression is computed, values that exceed the limits of a column or variable are assigned a null value (limits are determined by the defined data type). If there is not enough room to display a value--for example, in a form field--one or more asterisks ( *) are displayed. However, TEXT values are truncated instead.

Any expression that contains a null value produces a null result unless you set ZERO on. When ZERO is on, nulls are treated as zeros. However, when ZERO is on and the expression concatenates text strings, null strings are ignored.

Expression Topics

Expression Operators

Rules for Defining Expressions

Expression Data Types

Examples of Expressions


 Examples of Expressions

In the following example, the first command defines the data type of the result variable and assigns an initial value of zero. The second sets the value of vctr to the current value of vctr plus one. This is the most common method of counting occurrences in a command file.

SET VARIABLE vctr INTEGER = 0
SET VARIABLE vctr = (.vctr + 1)

In the following example, CREATE TABLE defines the computed column bonus. Netamount and bonuspct are defined first with CURRENCY and REAL data types, respectively. Bonus is then defined as a computed column, the result of multiplying netamount by bonuspct.

CREATE TABLE salesbonus (netamount CURRENCY, bonuspct +
REAL, bonus = (netamount * bonuspct) CURRENCY)

In the following example, the command uses select functions to calculate the total sales amount and total cost. The cost is then subtracted from the price to see the amount of profit.

SELECT (SUM(price)-SUM(cost)) from orders

Expression Topics

Expression Operators

Rules for Defining Expressions

Expression Data Types

Displaying the Calculated Values of Expressions


Foreign Data Sources and ODBC


Working with Foreign Data Sources and Tables using ODBC

You can use ODBC to link to other data sources. Ordinarily, you can work with only one R:BASE database at a time. With ODBC, R:BASE can access tables from other databases. This means that you can use ODBC to access multiple R:BASE databases at once; for example, you can take information from one R:BASE database and use it in another. You can also open an R:BASE database, then access databases from other programs, such as Oracle or Paradox.

Also, ODBC allows the developer to write one application that has the ability to access data from databases created with different ODBC-compliant products. For example, you could write an application that would select data from SQL Server, Oracle, Paradox, and R:BASE databases, separately or all at the same time, depending on which database drivers you have installed.

Figure 1: R:BASE without ODBC

Figure 2: R:BASE with ODBC

ODBC Topics

How ODBC Works

Setting Up Data Sources

Connecting Data Sources and Tables

Working with Data Sources


 How ODBC Works

When you access other databases, you are working with the actual data, not a copy. Not only can you view information from other databases, but you can modify and add information, depending on the access rights you have. For example, from R:BASE, you can add a row of data to a Paradox database.

In order for different database programs to communicate with each other, they use a standard Structured Query Language, or SQL. This language allows R:BASE to work with data in foreign databases. R:BASE does not actually perform actions itself, but sends the equivalent SQL command to the foreign database. The foreign database receives the command and performs the action on its own data. The foreign database controls the data validation, not R:BASE. You should be familiar with the access rights and constraints associated with the attached tables in their host systems.

For example, you are working in R:BASE and connect to a foreign database. If you add a row of data to a foreign table, R:BASE sends an SQL INSERT command to the foreign database, which then validates the data and adds the row to its table.

ODBC Topics

Working with Foreign Data Sources and Tables using ODBC

Setting Up Data Sources

Connecting Data Sources and Tables

Working with Data Sources

Figure 1: R:BASE without ODBC

Figure 2: R:BASE with ODBC


 Setting Up Data Sources

To access a data source, you must first install the corresponding driver. R:BASE installs the driver necessary for connecting to other R:BASE databases (versions 4.5 and above). You can then use the ODBC Administrator program, which is installed with R:BASE 5.5, to set up a data source.

To install drivers other than the R:BASE driver, refer to their respective installation manuals.

How to...

Set up a foreign data source

ODBC Topics

Working with Foreign Data Sources and Tables using ODBC

How ODBC Works

Connecting Data Sources and Tables

Working with Data Sources

Figure 1: R:BASE without ODBC

Figure 2: R:BASE with ODBC


 Connecting Data Sources and Tables

To work with a data source, you must first open a database in R:BASE, then you can connect the data source and select the table(s) with which you want to work. You can connect to as many as five other ODBC data sources at one time. You can attach as many tables as you like, but you can only use up to twenty in a single query or transaction.

When R:BASE attaches a foreign table, R:BASE only includes those columns in the table that have recognizable data types. Also, if the foreign tables or columns have names that are illegal in R:BASE, or if a foreign column or table name is the same as one in the R:BASE database, R:BASE prompts you to specify an alias that will be used for the foreign table or column while that table is attached.

To ensure that data in attached tables is updated correctly, attached tables should have a primary or unique key defined. If no primary or unique keys are defined, R:BASE prompts for the columns you want to use to determine unique rows.

How to...

Connect a foreign data source

Disconnect a foreign data source

Attach a foreign table

Detach a foreign table

ODBC Topics

Working with Foreign Data Sources and Tables using ODBC

How ODBC Works

Setting Up Data Sources

Working with Data Sources

Figure 1: R:BASE without ODBC

Figure 2: R:BASE with ODBC


 Working with Data Sources

Once you have attached a table from a data source, you can work with the data as you would with R:BASE data. However, you cannot use the following R:BASE commands with attached data source tables:

	ALTER TABLE	AUTONUM
	BACKUP	CREATE INDEX
	DROP COLUMN	DROP INDEX
	INTERSECT	JOIN
	RENAME COLUMN	RENAME TABLE
	SUBTRACT	UNION
	UNLOAD DATA FOR tblname AS ASCII	UNLOAD STRUCTURE
Restrictions on attached tables by foreign databases remain in effect--you can only perform actions on attached tables that are allowed within the restrictions of any access rights, rules, or constraints on the foreign database. For example, if your access rights to a foreign database allow you to view data only, you will receive an error message from the data source if you try to modify data.

For best performance, your attached tables should have a primary or unique key defined.

ODBC Topics

Working with Foreign Data Sources and Tables using ODBC

How ODBC Works

Setting Up Data Sources

Connecting Data Sources and Tables

Figure 1: R:BASE without ODBC

Figure 2: R:BASE with ODBC

See also

SATTACH Command

SCONNECT Command

SDETACH Command

SDISCONNECT Command

SET PASSTHROUGH Command

SSQL Command


These commands can be used with attached data source tables in their host systems by using the SSQL command in R:BASE.


Indexes


Indexes

The R:BASE index is similar to an index in a book; both indexes allow you to find information faster. Instead of searching through a book page by page, you can look up the topic in the index and find the exact page number of the topic. Similarly, you can apply indexes to columns so that R:BASE finds data faster.

When you apply an index to a column, R:BASE records the location of every value in that column. Then, when you look for or sort information in the column, R:BASE uses the index to find the rows you need quickly. For example, you want to list the bonuses that employee 102 earned; if the empid column in the salesbonus table is indexed, R:BASE finds and searches that column faster. Indexes are most useful when you have tables with many rows.

Note: Indexes are stored in the .RB3 file.

You can apply the following types of indexes:

Unique index

Full or partial text index

Multi-column index

Primary, unique, and foreign key columns are indexed automatically. In addition, the following types of columns are good for indexing:

  Columns that are neither primary nor foreign keys, but are frequently referred to in queries and sorts.

  Columns that have rules applied to them--in most cases, R:BASE can use indexing to check rules faster.

  Linking columns in views.

See also

CREATE INDEX Command

DROP command

RBDefine

How to...

Apply an index to a column


Unique index

Ensures that the values entered in the indexed column are unique.


Full or partial text index

For columns with NOTE or TEXT data types. R:BASE preserves each character in the indexed column (a full text index). Or, you can specify the number of characters to preserve, and R:BASE hashes (converts characters to a 4-byte integer) the remaining characters (a partial index).

To keep the .RB3 file from becoming too large, use a partial index--specify enough characters to guarantee the values are unique. If the preserved values are not unique, R:BASE must unhash the values before it can identify the rows, which slows performance. If you do not specify the number of characters to preserve, R:BASE preserves all of them, unless there are more than 200 characters defined; then, R:BASE preserves the first 32 and hashes the rest.


Multi-column index

A combination of up to 8 columns in one index. For example, if you consistently search three columns when working with a certain database, you can define a separate index for each column. Or, you can define one index for all three columns--R:BASE searches a multi-column index faster than three separate indexes.


Multi-User Mode


Multi-User Mode

R:BASE is a multi-user system that can be used on a single-user computer. In a multi-user environment, you must ensure that the databases to be shared are located properly, that R:BASE is prepared to protect your data, and that all workstations are properly configured to share databases.

In addition to the security systems that most networks provide, the R:BASE command GRANT, with which access rights are assigned, provides additional security for R:BASE databases.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Introduction to Using R:BASE on a Network

R:BASE in a multi-user environment allows multiple users to simultaneously access, view, update, insert, and delete data. To ensure data integrity, R:BASE uses various types of locks and a waiting period. To most efficiently use R:BASE on a network, avoid situations that cause R:BASE to work more at preventing user conflicts than at storing, sorting, and retrieving data. To a large degree, the speed of a network and the network card in your computer dictates how fast R:BASE can perform. The faster the network and network card, the better the R:BASE performance.

Although the techniques for making R:BASE perform most efficiently depend on your particular database and network, follow these guidelines to limit resource locking and improve response time:

  Schedule data entry among users at different times of the day, or have users enter data into temporary tables that are inserted into a master table at the end of the day.

  When designing a database, take advantage of the relational capabilities in R:BASE for linking and manipulating data stored in several tables. When possible, store data in several small tables rather than in one large one.

  Design applications so that each user requires the fewest shared resources to do his or her work.

  Avoid using commands that lock a database when other users need access to it. For example, avoid commands that change the structure of the database. You can run updates and backups at night, when an entire database is available without conflicts.

Multi-User Mode Topics

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Network Administration Program

RBAdmin allows you to perform the following tasks:

  List the names of the workstations that have access to the R:BASE network.

  Deactivate a currently active workstation.

  Remove the names of workstations from SERVER.RBG, the file that is the access-control file for the network server.

When a workstation "crashes," the user of that workstation must deactivate the workstation and log back into R:BASE.

To deactivate a workstation:

1   In the "R:BASE 5.5" program group, double-click the "RBAdmin" icon.

R:BASE displays information about the network administration program.

2   Press any key to continue.

3   Enter the drive and directory for the server.

4   When R:BASE asks for a command, press [2].

5   Enter the name of the workstation you want to deactivate.

R:BASE deactivates the workstation.

6   Press any key to continue.

7   When R:BASE asks for a command, press [4].

R:BASE returns you to the "R:BASE 5.5" program group.

8   In the "R:BASE 5.5" program group, double-click the "R:BASE 5.5" icon.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Setting Up for Network Use

The following topics provide information you need to know after you have installed R:BASE on a multi-user system.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Sharing Network Resources

When R:BASE is on a local area network, users can share R:BASE program files, printers, hard disks, directories and databases. You can also have R:BASE program files on a local drive or workstation; however those files will only be available to the user of that particular machine.

R:BASE on a network allows multiple users to simultaneously create and share new and existing databases, add, change, and print data, as if each user were the only one using that database. To ensure data integrity, R:BASE includes automatic concurrency control and a locking system that eliminates conflicts, such as two users attempting to change the same data at the same time. R:BASE has commands that allow a user to manually set the locks and wait periods that prevent conflicts.

Whether an R:BASE program or database files are stored on a network server or local hard drive, the limit on the number of concurrent users of R:BASE remains in effect. Also, only a limited number of users can access some parts of R:BASE at the same time. For example, although users can share program files, only one user at a time can import data to a given database with the Import/Export utility, create or alter the structure of a database, or create, edit, or convert a given application file.

R:BASE can use most printers that are compatible with your network operating system. In some cases, you need only attach the printer to print from R:BASE. In other cases, you must identify the printer to the network operating system and initialize the print spooler.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Setting the Multi-User Default

To set R:BASE so that it starts in multi-user mode by default, edit the R:BASE configuration file (RBASE.CFG) to include the command SET MULTI ON. You need to edit the configuration file and make a copy of the configuration file for each workstation that has a local copy of R:BASE. This file must contain the user's name and must be unique to all workstations.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 The R:BASE Initialization File (RBASE.INI)

You can now specify the exact path to the SERVER.RBG file on the network.

To specify the path to SERVER.RBG:

1	Choose Utilities: Preferences...

2	In the "Preferences" dialog box, enter the path to the SERVER.RBG file in "SERVER.RBG File Path."

3	Click the OK button.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Concurrency Control

On a network, R:BASE automatically performs concurrency control, locking, and resource waiting to prevent two users from modifying the same data at the same time.

Concurrency control is how R:BASE controls multiple access to tables when users are using forms or the EDIT command. Concurrency control, row, table and database locks only affect operations in which users are storing or altering data already stored on a disk.

R:BASE allows as much access to database resources as possible and keeps the duration of locking as brief as possible. However, the extent to which users are locked out of resources depends on the operations that cause R:BASE to issue the locks.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Resource Waiting

When a command has been locked out of a resource--database, table, column--R:BASE checks to see if the requested resource is available while in the waiting period. If the resource becomes available, the user can proceed. If not, R:BASE prompts the user to either terminate the request or continue waiting. While the user waits, R:BASE displays a message indicating the approximate percentage of wait time remaining.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Schema Reading Mode with SET STATICDB

Locks

SET INTERVAL

SET WAIT


 SET WAIT

The default waiting period is four seconds. You can change the waiting period by choosing Tools: Settings, or at the R> prompt with the SET WAIT command.

The SET WAIT command specifies the period in seconds in which R:BASE continues to retry the last command before stopping processing. Rather than stopping processing as soon as it encounters a lock, R:BASE retries some commands. For more information about how R:BASE handles lock conflicts, see the Accessing Tables and Databases Table.

If you set the wait period too long, you can have your users sitting unproductively for long periods. Be sure you set manual table locks (discussed later) only when absolutely necessary. If users are running programs that lock tables, set resource wait periods reasonably short to avoid users leaving workstations for a long without exiting the database.

A wait period can help prevent a deadlock. A deadlock occurs if a user locks a table and then waits for a table previously locked by a second user, who in turn is waiting for the table locked by the first user.

R:BASE prevents deadlocks because a command either accesses a resource or eventually stops trying to obtain access. If you issued a command from the R> prompt, R:BASE asks you when the wait period expires whether to keep waiting or cancel the command. If the command was issued from a command file, R:BASE retries the command until the wait period expires and then proceeds to the next command.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks

SET INTERVAL


 SET INTERVAL

The SET INTERVAL command specifies the amount of time that is to elapse before R:BASE retries the command that caused a conflict. This period is a maximum of nine tenths of a second, with the default of five tenths. The diagram below shows the relationship between the SET WAIT and SET INTERVAL command using default settings for each command.

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks

SET WAIT


 Schema Reading Mode with SET STATICDB

In a multi-user environment, R:BASE must be aware of any schema modifications made by a user. Being aware of schema modifications, which is necessary for database integrity, entails constantly re-reading schema information. Because many data-processing operations do not make frequent schema changes to the database, such a re-reading unnecessarily slows down processing.

The command SET STATICDB ON instructs R:BASE to prevent any schema modifications, therefore, R:BASE does not read schema information. By default, STATICDB is set off. SET STATICDB OFF forces a re-read of schema information before running any command.

When connecting to a database with STATICDB set on, R:BASE displays "Database Schema is Read-Only." When STATICDB is set on, the Database Designer option on the Tools menu, and the New and Design buttons for Tables and Databases in the Object Manager are inactive. Also, the following R:BASE commands are not allowed when STATICDB is set on.

Some R:BASE commands are unavailable when STATICDB is set on. The Unavailable R:BASE Commands Table lists the commands that are unavailable when STATICDB is set on.

If a user has STATICDB set off, that user cannot connect to a database being used by a user who has STATICDB set on. All users accessing the same database must have matching STATICDB settings.

When STATICDB is set on, only temporary tables and views can be created; these are deleted when disconnecting from the database.

The BACKUP ALL and UNLOAD ALL commands do not act upon temporary tables. You can, however, backup individual temporary tables with the BACKUP command. Similarly, UNLOAD permits copying of individual temporary tables to the selected output device.

You can find out what the current STATICDB setting is with the SHOW STATICDB command. When STATICDB is set on, the LIST TABLE command will display the temporary table and view names dimmed. Also, you can capture the current STATICDB setting as a value with CVAL, for example:

SET VAR vcval = (CVAL('STATICDB'))

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Locks


 Unavailable R:BASE Commands Table

Unavailable R:BASE Commands

ALTER TABLE*	CREATE INDEX	RBDEFINE*
ATTACH	DETACH	RESTORE
COMMENT ON*	DROP*
* - Access not allowed to tables created prior to database connection.


 Locks

The Multi-User Concurrency Control and Locking Table describes the automatic concurrency control and locks used in multi-user mode and the commands that initiate them. Operations that only view data or the database structure are not affected by concurrency control or locking.

The Accessing Tables and Databases Table shows what happens when different commands try to access a table or database already being used by another command. The columns represent the type of control or lock already placed on the table or database. Each row has a heading with the name of the control or lock needed by the command trying to gain access to a table or database.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using the SET VERIFY Command to Verify Data Entry

Using SET LOCK to Set Exclusive Table Locks

Displaying Multi-User Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB


 Multi-User Concurrency Control and Locking Table

Multi-User Concurrency Control and Locking

Type of Lock	Command	Description
Concurrency Control	EDIT EDIT USING ENTER	Prevents one user from accidentally overwriting another user's changes. These commands can access the same table simultaneously.
Row Lock	DELETE ROWS ENTER form FROM filespec INSERT values LOAD UPDATE	When SET ROWLOCKS is on, a lock is only applied to a row. When off, a table lock is in effect.
Table Lock	BACKUP* DROP RULE FORMS GRANT INSERT subselect LABELS LOAD from filespec	REPORTS RESTORE REVOKE RULES SET LOCK ON UNLOAD*	Must wait for commands that obtain table and database locks. Once obtained, this lock excludes all other concurrency control and locking until these commands have finished.
Full Database Lock	BACKUP ALL RELOAD UNLOAD ALL	All tables in the database are locked.
Database Schema Lock	ALTER TABLE CREATE SCHEMA CREATE TABLE CREATE VIEW CREATE INDEX DROP INDEX DROP COLUMN DROP TABLE	DROP VIEW INTERSECT JOIN PROJECT RENAME SUBTRACT UNION	Engages a full database lock preventing schema modifications, then releases the schema lock remaining in table lock.
Cursor Lock	OPEN cursorname	Stops database schema commands but allows table locks; acts as a table lock.
*A table lock is placed only if one table is unloaded. A database lock is placed if more than one table is unloaded.


 Accessing Tables and Databases Table

Accessing Tables and Databases

	Concurrency Control	Cursor Lock	Row Lock	Table Lock	Database Lock	Schema Lock
Concurrency Control	Access	Access	Access	Wait	Quit	Wait
Cursor Lock	Access	Access	Access	Wait	Quit	Wait
Row Lock	Access	Access	Access	Wait	Quit	Wait
Table Lock	Wait	Wait	Wait	Wait	Quit	Wait
Database Lock	Wait	Wait	Wait	Wait	Quit	Wait
Schema Lock	Wait	Wait	Wait	Wait	Quit	Wait


 Using the SET ROWLOCKS Command to Lock Rows

When R:BASE is running in multi-user mode, the user has the added capability of forcing R:BASE to use row-level locking on some R:BASE commands. By default, the SET ROWLOCKS command is set on. You can set ROWLOCKS by choosing Utilities: Settings... then click the Multi-User button, or using the SET ROWLOCKS command at the R> prompt. Setting ROWLOCKS off is not recommended if all users intend to update the same tables.

R:BASE always uses row-level locking for the EDIT, EDIT USING, and ENTER commands.

Locks Topics

Using the SET VERIFY Command to Verify Data Entry

Using SET LOCK to Set Exclusive Table Locks

Displaying Multi-User Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Using the SET VERIFY Command to Verify Data Entry

The R:BASE default for concurrency control is COLUMN checking. That is, R:BASE does not alert a user to a possible conflict unless two users attempt to update the same column in the same row. The SET VERIFY ROW command checks all values in a row for possible conflicts.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using SET LOCK to Set Exclusive Table Locks

Displaying Multi-User Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Using SET LOCK to Set Exclusive Table Locks

The SET LOCK command sets locks on tables. SET Lock should be set on when a user wants to be certain that no other user will alter data in the tables being updated during a procedure. This command is useful in conjunction with the DECLARE CURSOR command. If R:BASE cannot lock all tables listed in the command, it does not lock any of the tables listed in the command.

Exclusive table locks are cumulative--that is, for each SET LOCK tblname on command you issue, you must issue a corresponding SET LOCK tblname off command to remove the lock from that table. Also, the user who locked the table must issue the SET LOCK tblname off command.

The SET LOCK command is typically used in an application program to set locks, allow a procedure to be performed, then remove locks.

Automatic locking is in effect even if the SET LOCK command is issued. Setting locks off affects only locks set by the SET LOCK tblname ON command--not locks that R:BASE sets automatically.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using the SET VERIFY Command to Verify Data Entry

Displaying Multi-User Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Displaying Multi-User Locks

When R:BASE is used on a network, the LIST command displays the names of any locked tables by highlighting the table name.

The LIST TABLE tblname command tells you whether the lock is an edit, cursor, row, local, or remote lock, as shown in the table named Multi-User Locks Listed by LIST TABLE.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using the SET VERIFY Command to Verify Data Entry

Using SET LOCK to Set Exclusive Table Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Multi-User Locks Listed by LIST TABLE

Multi-User Locks Listed by LIST TABLE

Row lock	Another workstation is using EDIT ALL or a form that accesses this table or other commands that use row locks
Local lock	The SET LOCK command was issued from this workstation
Remote lock	A table lock has been applied with a command issued at another workstation
Cursor lock	A cursor is open on the table


 Clearing Buffers with the SET CLEAR Command

Setting CLEAR off gives you the option of waiting for R:BASE to fill the memory buffer allocated for updates before writing data to the disk. However, in multi-user mode, R:BASE disables the command and immediately updates the disk to prevent multi-user conflicts. If you have the SET CLEAR OFF command in a program file, you might want to remove it to prevent the display of an error message, though the presence of the command does not affect the running of the program.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using the SET VERIFY Command to Verify Data Entry

Using SET LOCK to Set Exclusive Table Locks

Displaying Multi-User Locks

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks


 Other Multi-User Considerations

Only a limited number of users can access certain parts of R:BASE at the same time. Be sure that all network users are aware of the limitations and plan ahead to avoid conflicts in accessing database and application files. A user should operate in single-user mode when performing any operation that modifies the structure of the database or using the PACK command.

The limitations to access for users are listed in the R:BASE Access Limitations Table.

Locks Topics

Using the SET ROWLOCKS Command to Lock Rows

Using the SET VERIFY Command to Verify Data Entry

Using SET LOCK to Set Exclusive Table Locks

Displaying Multi-User Locks

Clearing Buffers with the SET CLEAR Command

Other Multi-User Considerations

Multi-User Mode Topics

Introduction to Using R:BASE on a Network

Network Administration Program

Setting Up for Network Use

Sharing Network Resources

Setting the Multi-User Default

The R:BASE Initialization File (RBASE.INI)

Concurrency Control

Resource Waiting

Schema Reading Mode with SET STATICDB

Locks

How to...

Operate in single-user mode


 R:BASE Access Limitations Table

R:BASE Access Limitations

R:BASE Commands	Operating System Files Used	Access Limitations
CODELOCK	From ASCII to converted binary file	One user at a time can convert a given ASCII file
EXPRESS	ASCII or binary application files	One user at a time can create, edit, or convert an application file for a given database.
FORMS	Database files	One user at a time can modify a form in a given database.
REPORTS	Database files	One user at a time can modify a report in a given database.
GATEWAY	Data files for transfer to database, database files	One user at a time can use data files.
RBDEFINE	Database files	One user at a time can create or change database structure.
RBEDIT	ASCII file	One user at a time can create or edit a file.
ZIP	External programs	All users can share the program, within the limitations of the external program.


Pagemode Code Examples


PAGEMODE

The following section provides examples of using PAGEMODE. For more information about the PAGEMODE command, see SET PAGEMODE.

There are common elements to all the PAGEMODE examples. LINES are set artificially low in each example to force a page break to occur. All the examples direct output to a file and the file is displayed to the screen when the report is complete. MESSAGES are set off to make sure they do not interfere with the report data.

Code Examples

Break Header/Footer

Breakpoint Report with Multiple Breaks

Checking Column Width

Employee Telephone List

Multiple Breaks

Phone List with Breakpoints

Testing for the End of a Page


 Example of Testing for the End of a Page

Your program needs to be aware of the current setting for LINES so you can test for the end of a page. The current row count is compared to a constant value or to the LINES setting to check for the end of page. The CVAL function is used to place the current line setting in a variable. For example,

SET VARIABLE vLines = (CVAL('LINES'))

Then, an IF statement compares the vLines variable with the vRowCount variable. For example,

IF vRowCount >= .vLines THEN
  NEWPAGE
  SET VARIABLE vRowCount = 1
  SET VARIABLE vRow = 1
  SET VARIABLE vColumn = 1
ENDIF

The vRowCount, vRow, and vColumn variables must be reset for each new page. Leave a five line margin at the bottom of the page by comparing vRowCount to vLines minus five. For example,

IF vRowCount >= (.vLines - 5) THEN
  NEWPAGE
  SET VARIABLE vRowCount = 1
  SET VARIABLE vRow = 6
  SET VARIABLE vColumn = 5
ENDIF

Margins at the top of the page and on the left side are determined by the initial settings for the vRow and Vcolumn variables.

You can calculate the number of rows to print for the next data item, and compare that to see if all the data will fit on a page. This calculation is used to make sure break header, detail, and break footer information all appear on the same page.

SELECT COUNT(*) INTO vNumToPrint +
  FROM transmaster WHERE custid = .vCustid
IF (.vRowCount + .vNumToPrint) >= .vLines THEN
  NEWPAGE
  SET VARIABLE vRowCount = 1
  SET VARIABLE vRow = 6
  SET VARIABLE vColumn = 5
ENDIF

There are many different ways to keep track of the number of rows that have been printed on the page. The important thing to remember is that you need to keep track of it and issue the form feed yourself; it does not happen automatically.


 Example of Checking Column Width

The command lines below are used to display data in three columns evenly spaced across the page with a four space margin on the left side of the page. You determine in your program whether the columns go across the page and then down, or first down the page and then across. You should set up the column positions at the beginning of your program rather than automatically incrementing the column display variable by a certain amount and checking against the WIDTH setting.

SET VARIABLE vColumn1 = 5
SET VARIABLE vColumn2 = 30
SET VARIABLE vColumn3 = 55
 ...
WRITE .vName AT .vRow, .vColumn1
WRITE .vName AT .vRow, .vColumn2
WRITE .vName AT .vRow, .vColumn3

The number of columns can be dynamically calculated based on the maximum length of values to display for a group of data. Use the SLEN and MAX functions to find the maximum data length for the group of data.

-- compute the maximum text length
SELECT MAX(SLEN(title)) INTO vLen +
  FROM books WHERE lstnm = .vLName
-- set the number of columns based
-- on the maximum text length
IF vLen <= 25 THEN
  SET VAR vNumCols = 3
  SET VAR vColumn1 = 5
  SET VAR vColumn2 = 30
  SET VAR vColumn3 = 55
ELSE
  IF vLen <= 50 THEN
    SET VAR vNumCols = 2
    SET VAR vColumn1 = 5
    SET VAR vColumn2 = 40
  ELSE
    SET VAR vNumCols = 1
    SET VAR vColumn1 = 5
  ENDIF
ENDIF

Set SELMARGIN to specify the beginning column for SELECT command output. SELECT and SELMARGIN can be used with WHERE CURRENT OF CURSOR to display a row of data starting at any column position.


 Example of a Break Header/Footer

SET VAR vCustid TEXT
DECLARE c1 CURSOR FOR SELECT DISTINCT custid +
  FROM transmaster
DECLARE c2 CURSOR FOR SELECT transid, empid, +
  invoicetotal, transdate FROM transmaster +
  WHERE custid = .vCustid
OPEN c1
FETCH c1 INTO vCustid Ind1
WHILE SQLCODE <> 100 THEN
 -- This is the break header position,
 -- the first customer ID is retrieved.
 -- Cursor c2 fetches all transaction rows for
 -- that customer.
  OPEN c2 RESET
  FETCH c2 INTO vTransid vind1, vEmpid vind2, +
    vInvoiceTotal vind3, vTransDate vind4
  WHILE SQLCODE <> 100 THEN
     -- The detail rows are processed here.
    FETCH c2 INTO vTransid vind1, vEmpid vind2,
      vInvoiceTotal vind3, vTransDate vind4
  ENDWHILE
 -- The break footer position is here,
 -- right before the next customer row is fetched.
  FETCH c1 INTO .vCustid
ENDWHILE


 Example of Multiple Breaks

-- Initialize variables
SET VAR vCustState T

EXT, vCustid TEXT
-- Set up the breakpoints with cursors.
-- Cursor c1 is break 1, cursor c2 is break 2,
-- cursor c3 retrieves the detail data.
DECLARE c1 CURSOR FOR +
  SELECT DISTINCT custstate FROM customer
DECLARE c2 CURSOR FOR +
  SELECT DISTINCT custid FROM transmaster +
  WHERE custid IN +
       (SELECT custid FROM customer +
        WHERE custstate = .vCustState)
DECLARE c3 CURSOR FOR +
  SELECT transid, empid, invoicetotal, transdate +
  FROM transmaster WHERE custid = .vCustid
OPEN c1
FETCH c1 INTO vCustState Ind1
WHILE SQLCODE <> 100 THEN
  -- This is the break header 1 position,
  -- the first state value is retrieved.
  -- Cursor c2 then fetches all customer rows
  -- for that particular state
  OPEN c2 RESET
  FETCH c2 INTO vCustid Ind2
  WHILE SQLCODE <> 100 THEN
    -- This is the break header 2 position,
    -- the first customer row. Cursor c3 then
    -- fetches all transaction rows for
    -- that customer
    OPEN c3 RESET
    FETCH c3 INTO vTransid vind1, vEmpid vind2, +
      vInvoiceTotal vind3, vTransDate vind4
    WHILE SQLCODE <> 100 THEN
      -- The detail rows are processed here
      FETCH c3 INTO vTransid vind1, vEmpid vind2, +
        vInvoiceTotal vind3, vTransDate vind4
    ENDWHILE
    -- Break footer 2 position is here, +
    -- right before the next
    -- customer row is fetched.
    FETCH c2 INTO vCustid Ind2
  ENDWHILE
  -- Break footer 1 position is here, after
  -- all the customer data has been fetched,
  -- before the next state value is fetched.
  FETCH c1 INTO .vCustid
ENDWHILE


 Example of an Employee Telephone List

This example prints an employee telephone list in columnar format. The page header data is actually written at the end of the page so it includes data from the first row printed on the page, and data from the last row printed on the page.

*(PHONE1.RMD)
*(example 1 - a columnar report with a page header
  written at the end of the page)
CON hifi
CLS
SET MESSAGE OFF
SET PAGEMODE OFF
SET LINES 10
DECLARE c1 CURSOR FOR +
  SELECT (LastName + ',' & FirstName), Phone, Lastname +
  FROM salespeople ORDER BY lastname
OPEN c1
FETCH c1 INTO vName i1 ,vPhone i2, vLastname I3
SET VAR vCol INT = 1, vRow INT = 3, vRowLimit = 9
SET VAR vFirst TEXT = .vLastname, +
        vLast TEXT = .vLastname,+
        vPage INT = 1
SET PAGEMODE ON
OUTPUT phone.out
WHILE SQLCODE <> 100 THEN
   SET VAR vRow = (.vRow + 1)
   IF vRow >= .vRowLimit THEN
     IF vCol = 40 THEN
       WRITE .vFirst '-' .vLast AT 2 1
       WRITE 'Page' .vPage AT 2 68

       WRITE '----------------------------------' AT 3 40
       NEWPAGE
       SET VAR vFirst = .vLastname, vLast = .vLastname
       SET VAR vPage = (.vPage + 1), vCol = 1
     ELSE
       SET VAR vCol = 40
     ENDIF
     SET VAR vRow = 4
   ENDIF
   WRITE .vName=21 .vPhone AT .vRow .vCol
   SET VAR vLast = .vLastname
   FETCH c1 INTO vName i1, vPhone i2, vLastname I3
ENDWH
WRITE .vFirst '-' .vLast at 2 1
WRITE 'Page' .vPage at 2 68
WRITE '----------------------------------' at 3 1
WRITE '----------------------------------' at 3 40
OUTPUT SCREEN
CLOSE c1
DROP CURSOR c1
SET PAGEMODE OFF
SET LINES 20
TYPE phone.out


Lines are set artificially low to show two pages.


Notice that the cursor definition concatenates first and last name, ready to be displayed on the report. LastName is included twice in the DECLARE CURSOR statement--first for display purposes, concatenated with first name, then to retrieve just the last name for placement in the page heading.


Then the first row of data is fetched.


Before the rows are iteratively retrieved, the row and column values for display are initialized. In addition, the variable vRowLimit is used to indicate how many rows to print per column. It is set to one less than the page size (lines) for this report.


The variables are initialized for the page heading. The LastName value from the first row is saved in the variable vFirst. The variable vLast is reset within the cursor WHILE loop.


Then PAGEMODE is set on, the output device is indicated, and the cursor starts looping through the rows of data.


The row display variable is incremented by one for each row that is fetched. The names start printing on row 4 to allow space for the page heading.


Check to see if we have reached the end of a page. When displaying one row of output for each row retrieved from the table, it is easy to use the vRow variable to track where you are on the page. When wrapping data, or displaying a variable number of rows of output for each row of data, use SHOW VAR and ISTAT('PAGEROW') to keep track of the actual page location.


Now check to see if the second column of names has printed. If so, write the page heading and send the page to the output file.


Write the page heading.


Send the page to the output file.


Re-initialize the variables for page 2.


Column 1 is done, set up parameters for displaying the names in column 2.


Reset the row display variable for either column 2 or the next page.


Reset the row display variable for either column 2 or the next page.


Each row, get the current LastName value. When the page is done, the current value is displayed by the WRITE command that does the page heading.


Get the next row of detail data.


No more data, write the page heading on the last page.


Close the file, clean up, and display the report.


 Example of a Phone List with Breakpoints

This example prints a phone list report using breakpoints. Each break is printed on a separate page. The data is not printed in columns to make it easier to see how breakpoints are set up. The employee phone list data is printed by state.

*(PHONE2.RMD)
*(example 2 - a report with break points.
  An employee phone list is printed by state,
  each state on a separate page.)
DEL phone.out
CON hifi
CLS
SET MESSAGE OFF
SET PAGEMODE OFF
SET LINES 15
SET VAR vState TEXT
DECLARE c1 CURSOR FOR SELECT DISTINCT state +
  FROM salespeople
DECLARE c2 CURSOR FOR +
  SELECT (LastName + ',' & FirstName), Phone, Lastname +
  FROM salespeople WHERE state = .vState +
  ORDER BY lastname
SET VAR vCol INT = 3, +
        vRow INT = 2, +
        vCount INT = 0, +
        vPage INT = 1, +
        vPageLimit = (CVAL('LINES'))
SET PAGEMODE ON
OPEN c1
FETCH c1 INTO vState ii1
WHILE SQLCODE <> 100 THEN
OUTPUT phone.out APPEND
WRITE 'List of employees in state of:', .vState, +
  '                      Page:', .vPage AT .vRow, .vCol
SET VAR vRow = (.vRow + 1)
WRITE '----------------------------------' +
    AT .vRow, .vCol
OPEN c2
  FETCH c2 INTO vName i1 ,vPhone i2, vLastname i3
  WHILE SQLCODE <> 100 THEN
    SET VAR vRow = (.vRow + 1)
    SET VAR vCount = (.vCount + 1)
    IF vRow >= .vPageLimit THEN
      NEWPAGE
      SET VAR vRow = 2, vPage = (.vPage + 1)
      WRITE 'List of employees in state of:', .VState, +
  '                      Page:', .VPage AT .vRow, .VCol
      SET VAR vRow = (.vRow + 1)
      WRITE '----------------------------------' +
        AT .vRow, .vCol
    ENDIF
    WRITE .vName=21 .vPhone AT .vRow .vCol
    FETCH c2 INTO vName i1, vPhone i2, vLastname I3
  ENDWH
  CLOSE c2
  SET VAR vRow = (.vRow + 2)
  WRITE 'Number of employees for', .vState, 'is', +
    .vCount AT .vRow, 10
  OUTPUT SCREEN
  SET VAR vRow = 3, vPage = (.vPage + 1), vCount = 0
  FETCH c1 INTO vState ii1
ENDWH
OUTPUT screen
DROP CURSOR c1
DROP CURSOR c2
SET PAGEMODE OFF
SET LINES 20
TYPE phone.out


Initialize the variable used in the WHERE clause of cursor c2.


Set up the breakpoint by declaring a cursor on the break column. The cursor is specified as DISTINCT to retrieve one row for each unique value in the column.


Declare a cursor to retrieve the other data to display.


Initialize the row and column display variables. The variable vCol is set even though the data is not printed in columns. The page size is found by using the CVAL function to query the current setting for LINES.


Get the first break value.


Opening and closing the file each time through the WHILE loop eliminates extra form feeds.


The break heading acts as the page heading. The OUTPUT...APPEND command in combination with the OUTPUT SCREEN at the end of the break puts each break on a new page.


Begin data retrieval for the first state (break). Cursor c2 is re-opened with different data for each state (break value).


Increment the row display value, and count the number of records per break.


Test to see if the end of a page has been reached. If so, send the page, and print the break header on the next page. If the detail data is more than will fit on a single page, the break header values repeat on the next page.


Write the detail data.


Write the break footer, all the detail for the break value has been processed.


The OUTPUT SCREEN sends the current page and closes the file. It puts the next break on a new page.


Get the next state or break value and reset variables.


Close the file, cleanup, and display the report.


 Example of a Breakpoint Report
with Multiple Breaks

This is an example of a breakpoint report with multiple breaks printed per page. The break heading is repeated on the next page if the data for the break does not fit on the page. The report prints a page header as well as a break header and break footer.

*(PHONE3.RMD)
*(example 3 - this example includes a page header
  along with the break header. Multiple breaks are
  printed per page. The break header is repeated on
  subsequent pages if the break detail spans a page)
DEL phone.out
CON hifi
CLS
SET MESSAGE OFF
SET PAGEMODE OFF
SET LINES 25
SET VAR vState TEXT
DECLARE c1 CURSOR FOR SELECT DISTINCT state +
  FROM salespeople
DECLARE c2 CURSOR FOR +
  SELECT (LastName + ',' & FirstName), Phone, Lastname +
  FROM salespeople WHERE state = .vState +
  ORDER BY lastname
SET VAR vCol INT = 3, +
        vRow INT = 2, +
        vPage INT = 1, +
        vPageLimit = (CVAL('lines')), +
        vCount INT = 0
SET PAGEMODE ON
OUTPUT phone.out
WRITE 'Employee Phone List by State' AT .vRow, 25
SET VAR vRow = (.vRow + 1)
WRITE .#date AT .vRow, 32
WRITE 'Page:', .VPage AT .vRow, 60
SET VAR vRow = (.vRow + 2)
OPEN c1
FETCH c1 INTO vState ii1
WHILE SQLCODE <> 100 THEN
  WRITE 'List of employees in state of:', .VState +
    AT .vRow, .VCol
  SET VAR vRow = (.vRow + 1)
  WRITE '----------------------------------' +
    AT .vRow, .vCol
  OPEN c2
  FETCH c2 INTO vName i1 ,vPhone i2, vLastname i3
  WHILE SQLCODE <> 100 THEN
    SET VAR vRow = (.vRow + 1)
    SET VAR vCount = (.vCount + 1)
    IF vRow >= .vPageLimit THEN
      NEWPAGE
      SET VAR vRow = 2, vPage = (.vPage + 1)
      WRITE 'Employee Phone List by State' +
        AT .vRow, 25
      SET VAR vRow = (.vRow + 1)
      WRITE .#date AT .vRow, 32
      WRITE 'Page:', .vPageAT .vRow, 60
      SET VAR vRow = (.vRow + 2)
      WRITE 'List of employees in state of:', .VState +
        AT .vRow, .VCol
      SET VAR vRow = (.vRow + 1)
      WRITE '----------------------------------' +
        AT .vRow, .vCol
      SET VAR vRow = (.vRow + 1)
    ENDIF
    WRITE .vName=21 .vPhone AT .vRow .vCol
    FETCH c2 INTO vName i1, vPhone i2, vLastname i3
  ENDWH
  CLOSE c2
  SET VAR vRow = (.vRow + 2)
  WRITE 'Number of employees for', .vState, 'is', +
    .vCount AT .vRow, 10
  SET VAR vRow = (.vRow + 3), vCount = 0
  FETCH c1 INTO vState ii1
ENDWH
OUTPUT screen
DROP CURSOR c1
DROP CURSOR c2
SET PAGEMODE OFF
SET LINES 20
TYPE phone.out


Initialize the variable used in the WHERE clause of cursor c2. Declare the cursors for the breakpoint and the detail data.


Initialize row, column and page variables. Variable vCount is used to count the rows and is displayed in the break footer.


Write the page heading for page 1.


Write the break heading.


Begin retrieving the detail data.


Test to see if we are the end of the page.


Send the current page and then write the page heading and break heading for the next page.


The page heading.


The break heading.


Display the detail data.


All of the detail for the current break value has been processed. Write the break footer before fetching the next break value from cursor c1.


Reset variables for the next break.


Close the file, clean up and display the report.


Rules


Rules

A data entry rule ensures that the data entered into a column meets the criteria you specify. You can use rules to do the following:

  Prevent duplicate information from being entered. For example, a new stock number cannot be the same as an existing one.

  Verify that the data being entered corresponds with data elsewhere in the database. For example, the product stock number must exist in a table before you enter a sales transaction for the product.

  Prevent a row from being deleted if it corresponds with data elsewhere in the database. For example, if a transaction refers to a customer, the customer cannot be deleted from the customer table.

  Define a value range. For example, when you enter a salary, it must be between $15,000 and $50,000. You can either specify a maximum value, a minimum value, or a range of values.

When you enter or edit data, R:BASE checks the data you enter with the corresponding rules. If the conditions of a particular rule are not met, R:BASE displays the error message defined for that rule and does not add the row. You can turn the rules setting on or off; the RULES setting must be on for R:BASE to check them.

As you use and modify the tables in your database, you might need to revise the data entry rules. For example, if you rename a column or table used in the WHERE clause of a rule definition, you must update the rule to reflect the change.

You can delete rules that no longer apply to your database. For example, delete rules that are associated with a column you have deleted from a table.

See also

"Display Settings" dialog box

RBDefine

DROP Command

LIST Command

RENAME Command

RULES Command

SET RULES Command

How to...

Apply a rule to a column

Modify a rule

Delete a rule


Startup Files


Startup Files

A startup file is a command file that runs automatically when you start R:BASE. You can put commands in a startup file to open a database, set the environment, specify passwords, and run programs and applications.

  Specifying a Startup File

  Using Startup Files with Applications


 Specifying a Startup File

When you start R:BASE, it will automatically run the default startup file, RBASE.DAT, if one exists in the current working directory. However, if you want to run a different startup file, you can specify it in the R:BASE configuration file (RBASE.CFG). You can also modify the R:BASE command line properties to include the startup file name.

R:BASE executes the commands in the startup files specified in RBASE.CFG first, then any file specified after the RBASE.EXE command, then the RBASE.DAT file if it exists in the current working directory, which you can set by choosing Utilities: Set Current Working Directory.

To specify a startup file in the RBASE.CFG file, start a text editor and open RBASE.CFG. Before the OPTIONS section, insert the line STARTUP filename. For example:

;
STARTUP start.rmd
;
OPTIONS
;


  Using Startup Files with Applications

You can create a startup file for an R:BASE application to ensure that users start the application the same way each time. For example, the startup file can include commands to start R:BASE, enter passwords, specify settings for the application, and close R:BASE when the application is closed.

In R:BASE for DOS, after you create an application, R:BASE asks if you want to create a startup file for it. If you choose "Yes," R:BASE creates the default startup file RBASE.DAT and includes two commands, RUN and EXIT:

RUN appname IN appname.apx
EXIT

Do not include the following commands in a startup file:

  GATEWAY

  ZIP ROLLOUT


Transaction Processing


Transaction Processing

Transaction processing allows you to process several commands as a group, or transaction. For each transaction, you can keep the changes made by the group of commands, or you can undo the changes, for instance if a command error occurs or a transaction cannot be completed. Transaction processing works in both single- and multi-user modes. Transaction processing offers several advantages, the greatest of which is improved data integrity.

For example, if you are entering debits and credits, you can ensure that either all or none of the data is entered. Or suppose you are posting accounts at the end of the year, and deleting rows as they are posted to a master account. If the posting process is interrupted or a required table is not available, transaction processing lets you cancel the entire process and start over without having to reconstruct each original table.

You can also use transaction processing to analyze data in a hypothetical situation. You can add data to a table, perform calculations, analyze the results, then decide whether to keep the new data. You can try different scenarios as many times as needed to find the right combination of data and keep only the data that produced the desired result.

Transaction processing has the disadvantage of decreasing system performance. When you use it, R:BASE must keep track of extra table and database locks, maintain a Before Image file for each user, and perform internal consistency checks. Every transaction requires overhead, which slows the entire system.

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors


Using Transaction Processing

To use transaction processing, enter the following command at the R> prompt before you open a database:

SET TRANSACT ON

While you are working at the R> prompt, if you want each command to be made permanent immediately and visible to network users, turn AUTOCOMMIT on:

SET AUTOCOMMIT ON

If you want to be able to process a transaction without permanently affecting your data until you accept the changes, turn AUTOCOMMIT off. Then, to accept a transaction and make the changes permanent, enter the COMMIT command after you have entered the transaction. Or, to reverse the transaction and undo the changes, enter the ROLLBACK command. Whenever you disconnect from a database in the middle of a transaction (AUTOCOMMIT is set off), the transaction is saved as though you had entered a COMMIT command.

Because transaction processing also works in multi-user mode, you can specify the maximum number of users who can have the same database open concurrently with transaction processing on by specifying a value for MAXTRANS. For example, to specify 20 users:

SET MAXTRANS 20

In transaction processing, if you change the value of a SET command whose value is normally stored with the database, the new value is effective only until you close the database. The new SET value is not stored with the database.

With transaction processing on, execution time for commands is determined by several factors, particularly the number of users accessing the same database and the types of commands being executed. Some commands take longer to execute than others, and the same command can take longer from one user to the next.

You cannot use the following commands with transaction processing on because these commands create new database structures or start other modules:

ALTER TABLE	CODELOCK	EXPRESS
FORMS	GATEWAY	PACK
RBDEFINE	RBLABELS	RELOAD
RENAME OWNER	REPORTS	UPGRADE
Transaction Processing Topics

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors

See also

SET AUTOCOMMIT Command

SET MAXTRANS Command

SET TRANSACT Command


Locking Table Access and Resource Waiting

To ensure data integrity, R:BASE maintains a system of locks that control access to tables and databases.

When a command requires access to a resource, such as a table or database, R:BASE checks to see whether it is already in use. If it is locked, R:BASE checks whether the existing lock(s) prevent the new lock from being applied. If so, R:BASE puts the lock in a waiting queue. When the existing lock is removed, the next lock in the queue can access the table or database. While the command is waiting for a lock, you are prompted to continue waiting or to abort.

Transaction processing locks permit maximum concurrent access to system resources, yet maintain strict data integrity. The locks used by transaction processing replace those used in multi-user mode. Automatic locks are removed at the end of the transaction that required the lock.

Locks are not needed when transaction processing is used in single-user mode.

Transaction Processing Topics

Using Transaction Processing

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors


Row Locks and Transaction Processing

Rowlocks and fastlocks are incompatible with transaction processing; you cannot have either ROWLOCKS or FASTLOCKS set on when transaction processing (TRANSACT) is set on.  If you set transaction processing on when ROWLOCKS or FASTLOCKS are set on, R:BASE forces the ROWLOCKS and FASTLOCKS settings off. If you try to set ROWLOCKS or FASTLOCKS on when transaction processing is set on, R:BASE displays an error message.

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors

See also

SET ROWLOCKS Command

SET TRANSACT Command


Automatic Table and Database Locks

The following list describes the automatic table and database locks used in transaction processing.

Transaction Processing Locks

SELECT table lock

Commands
Description

INSERT table lock

Commands
Description

UPDATE table lock

Commands
Description

Full database lock

Commands
Description

The commands are listed under the lock they obtain most frequently. The current use of each command, however, determines which lock it obtains. These commands can only upgrade their locks within a transaction.

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors


BROWSE	COMPUTE
CROSSTAB	PRINT
QBE	SELECT
TALLY


These commands only need to view data from a table. A SELECT lock excludes all other locks except other SELECT locks.


ENTER	ENTER USING
INSERT	LOAD
OPEN CURSOR


These commands may add a row to a table. An INSERT lock excludes all other locks.


DELETE	EDIT
EDIT USING	UPDATE


These commands update information in a table. An UPDATE lock excludes all other locks.


AUTONUM

BACKUP

CREATE INDEX

CREATE TABLE

CREATE VIEW

DROP INDEX

DROP TABLE

DROP VIEW

GRANT

INTERSECT

JOIN

PROJECT

RENAME COLUMN

RENAME TABLE

RENAME VIEW

RESTORE

REVOKE

RULES

SUBTRACT

UNION

UNLOAD


A full database lock excludes locks on all tables and the database and disables the LIST command until the transaction is finished. If a command cannot lock all the tables in a database, you receive a message.


Setting Exclusive Table Locks

Transaction processing uses an exclusive lock. To activate an exclusive lock on a table, use the SET LOCK tblname ON command. This command remains in effect until a corresponding SET LOCK tblname OFF command is issued to remove the lock from that table. Only the user who sets the lock can remove it.

SET LOCK tblname OFF commands take effect when you end the current transaction with the COMMIT or ROLLBACK command. You should remove exclusive table locks as soon as the table is no longer needed, especially when working in multi-user mode. Exclusive locks are removed automatically when you exit a database, or when you run the recovery program following a processing interruption.

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors


Displaying Transaction Processing Locks

You can use the LIST or LIST TABLES command to see which locks are in place; when transaction processing is on, the names of locked tables are listed with the LIST command in reverse video.

Types of locks displayed with the LIST TABLES command:

Local SELECT lock

Remote SELECT lock

Local INSERT lock

Remote INSERT lock

Local UPDATE lock

Remote UPDATE lock

Local lock

Remote lock

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Resource Waiting in Transaction Processing

Recovering from Transaction Processing Errors

See also

LIST Command


A command issued from this workstation holds a SELECT lock


A command issued from another workstation holds a SELECT lock


A command issued from this workstation holds an INSERT lock


A command issued from another workstation holds an INSERT Lock


A command issued from this workstation holds an UPDATE lock


A command issued from another workstation holds an UPDATE lock


SET LOCK issued from this workstation holds an exclusive lock


SET LOCK issued from another workstation holds an exclusive lock


Resource Waiting in Transaction Processing

You can determine how long R:BASE continues to retry the last command until it receives a resource lock. By default, R:BASE waits four seconds and tries to access the resource throughout the wait period. If the table or database is still unavailable when the wait period expires, a message is displayed. You can either retry the command, or roll back the transaction. To change the wait period, specify a value in seconds for the WAIT setting; for example, enter:

SET WAIT 10

You can also specify how often R:BASE retries the command within the SET WAIT period. The maximum setting for the INTERVAL command (in tenths of a second) is nine; the default is five. For example, to specify an interval of nine tenths of a second, enter:

SET INTERVAL 9

Transaction Processing Topics

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Recovering from Transaction Processing Errors

See also

SET INTERVAL Command

SET WAIT Command


Recovering from Transaction Processing Errors

You can use the RECOVER command to restabilize a database after a transaction is interrupted. The following conditions can interrupt a transaction:

  R:BASE discovers minor inconsistencies or unresolvable resource conflicts within a transaction. R:BASE automatically rolls back the transaction and displays an error message.

  Transaction processing has been interrupted unexpectedly. When you try to connect to the database, R:BASE detects either an existing Before Image file or major inconsistencies. An error message tells you to use the RECOVER command.

Other users connected to the same database might get the same message, but not until they disconnect from the database and try to reconnect to it. The transactions entered by other users still connected to the database are executed properly unless they try to access system resources (such as tables and views) that are directly affected by the transaction error.

When transaction processing is on, R:BASE creates Before Image files for the current database. When you use the RECOVER command, it rolls back the interrupted transaction by using each Before Image file, clears all table and database locks, and resolves any other internal inconsistencies.

Transaction Processing Topics

How to use the RECOVER command

Using Transaction Processing

Locking Table Access and Resource Waiting

Row Locks and Transaction Processing

Automatic Table and Database Locks

Setting Exclusive Table Locks

Displaying Transaction Processing Locks

Resource Waiting in Transaction Processing


COMMIT

Use COMMIT to save the results of a group of commands, or transaction.


ROLLBACK

Use ROLLBACK to cancel the results of a transaction by reversing the commands in it.


Using Previous Versions of Forms, Reports, or Labels


Using Forms, Reports, and Labels from Previous Versions of R:BASE

In R:BASE 5.5, you can run forms, reports, and labels created in previous versions of R:BASE--just open the form, report, or label in the corresponding designer, then save it (choose File: Save).

Once you save a form, report, or label in R:BASE 5.5, you cannot use it with earlier Windows versions of R:BASE unless you choose the Save As option and save the form, report, or label with a new name. However, if you save a form, report, or label created with R:BASE 4.5++ or earlier, a copy of the form, report, or label is made with the same name for use with R:BASE 5.5, but you can still open the original form, report, or label in the earlier version of R:BASE.

After you convert a form, report, or label, you can have R:BASE format it automatically for you. If you choose to autoformat the form, report, or label, R:BASE resizes the fields vertically and moves them so that they are visible and do not overlap each other.

You can specify global default settings for objects in forms, reports, and labels in the "Preferences" dialog box. When you convert forms, reports, and labels, the objects will take on the default settings you have specified. However, if you have customized an object (such as color or font), the object will keep these settings.

Note the following results from conversions:

  Lines--All lines revert to black. Any lines created in DOS will be removed. If you have created lines in a DOS version of R:BASE by using text (such as dashes or underscores), these objects will be treated as text objects. You can remove these objects and replace them with R:BASE 5.5 line objects.

  Regions and Tiers--If you have applied a color to a region from a DOS-version form, the region will be outlined with boxes.

  Small Fields--In DOS-version forms that have fields that are 1- to 2-characters wide must be resized wider to accomodate Windows fonts.

  Report margins--Verify that field objects are within the margins; otherwise, the field objects will not be printed.


3D Box Properties DialogBox

Access Rights DialogBox

Action Definition DialogBox

Application Express DialogBox

Attach DBase File DialogBox

Attach Tables DialogBox

Backup Restore DialogBox

Box Properties DialogBox

Change Order DialogBox

Change Owner Identifier DialogBox

Change Section DialogBox

Character Settings DialogBox

Check Box Object Properties DialogBox

CodeLock DialogBox

Colors Settings DialogBox

Column Object Properties DialogBox

Combo Box Object Properties DialogBox

Command Syntax

Conversion DialogBox

Create Aggregate Function DialogBox

Create Aliases DialogBox

Create Breakpoint DialogBox

Database Info DialogBox

Detach Tables DialogBox

Disconnect Data Source DialogBox

Display Settings DialogBox

Edit Variables DialogBox

Expression Builder DialogBox

Field Settings DialogBox

Form Settings DialogBox

Form Settings Preferences DialogBox

Formatting Settings DialogBox

Label Settings DialogBox

Label Settings Preferences DialogBox

Menu Item Actions DialogBox

Miscellaneous Settings DialogBox

Multi User Settings DialogBox

New FRL DialogBox

New Key Index DialogBox

New Rule Custom DialogBox

New Rule DialogBox

Pack In Place DialogBox

Popup Menus DialogBox

Preferences DialogBox

Print DialogBox

Push Button Object Properties DialogBox

QBE User Settings DialogBox

Radio Button Object Properties DialogBox

Replace All Column Values DialogBox

Replace DialogBox

Report Settings DialogBox

Report Settings Preferences DialogBox

Run Form DialogBox

Search DialogBox

Select Column Set DialogBox

Select Spreadsheet Range DialogBox

Set Column Width DialogBox

Set Tab Stops DialogBox

Set User ID and Password DialogBox

Set Wrap Lines DialogBox

Sort By DialogBox

Table Columns DialogBox

Table Information DialogBox

Table Settings DialogBox

Text Object Properties DialogBox

TOOLS Application Express

TOOLS Data Browser

TOOLS Form Designer

TOOLS Import Export

TOOLS Label Designer

TOOLS Object Manager

TOOLS Query By Example

TOOLS RBDefine

TOOLS RBEdit

TOOLS Report Designer

TOOLS RPrompt

TOOLS Runtime

Upgrade DialogBox

Variable Object Properties DialogBox

Where Builder DialogBox


Dialog Boxes


Access Rights dialog box
 "Access Rights" dialog box
    Utilities: Access Rights...

About...

Assigns, removes, and lists access rights to the database. Access rights determine which actions a user can and cannot perform on the database. The owner of the database can assign and remove access rights to anyone; however, users can't assign or remove access rights unless the owner has given them permission.


 "Access Rights" dialog box
    Utilities: Access Rights...

Dialog Box Options

Grant

Select this option if you want to assign database access rights to users. This option corresponds to the GRANT command.

Revoke

Select this option if you want to remove database access rights from users. This option corresponds to the REVOKE command.

List

Select this option if you want to list database access rights. This option corresponds to the LIST ACCESS command.

Access Rights

When you select "Grant" or "Revoke," the following access rights are listed:

Alter
Create
Delete
Insert
References
Select
Update

Select one or more access rights to assign or remove. Certain access rights also require you to select a table and/or column(s).

Table drop-down list

Select a table or view for which to assign, remove, or list access rights.

List of Columns

Select a column or column(s) for which to assign or remove access rights.

List of Users

Select a user or user(s) for whom to list access rights.

All

For the List option only. Select this option to list all access rights for all users.

User

For the List option only. Select this option to list access rights for a specific user, then select the user from the list.

Table

For the List option only. Select this option to list access rights for a specific table, then select the table from the drop-down list.

User List

Specify the users (user identifiers) for whom you want to assign or remove access rights. Separate multiple user identifiers with commas. If you want to assign access rights to all users, enter "public."

Note: To add users to a database, select access rights to assign to them, and enter the user identifiers in this field.

Allow User to Grant Selected Rights

Check this option when you assign access rights if you want the specified user(s) in "User List" to be able to assign and remove the specified access rights to other users.

Grant

Click this button to assign the specified access rights to the specified users.

Revoke

Click this button to remove the specified access rights from the specified users.

List

Click this button to list the specified access rights assigned.

Change Owner

Click this button to specify or change the owner identifier.

Connect

Click this button to open a database. Access rights are specific to a database, which must be open when you assign, remove, or list access rights.


 "Access Rights" dialog box
    Utilities: Access Rights...

How to...

Assign an owner identifier

Assign access rights

Remove access rights

List access rights


 "Access Rights" dialog box
    Utilities: Access Rights...

See also

GRANT Command

REVOKE Command

LIST Command

CREATE TABLE Command

ALTER TABLE Command


Create

Permission to create tables using the CREATE TABLE command. Users with this permission have all rights on the tables they create, including permission to assign and remove access rights to other users for these tables.


Select

Permission to display or print data for the specified table or view.


Update

Permission to change the values of columns in the specified table or view that can be updated. Unless you select specific columns, the user can update all columns in the table.


Insert

Permission to add rows to the specified table or to a view that can be updated.


Delete

Permission to remove rows from the specified table or from a view that can be updated.


References

Permission to reference a primary/unique key table while inserting or updating data in a foreign key table.


Alter

Permission to alter specific tables.


Action Definition dialog box
 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action," then click Add After or Add Before

About...

Defines actions for menu options for an application you design in the Application Designer.  You can assign the following actions:

Enter data using a form

Edit data using a form

Delete rows from a table

Browse and edit rows in a table

Select rows from a table

Update rows in a table

Print reports

Print labels


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

How to...

Assign an action to a menu option


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

See also

Application Designer

Data Browser

"Where Builder" dialog box

Prompting the User for WHERE Conditions


 Prompting the User for WHERE Conditions

When you assign actions to menu options in the Application Designer, you can specify WHERE clauses to limit the rows of data for that action. You can also use a feature that allows you to prompt the user for WHERE conditions--enter the following line in a WHERE clause: @'prompt'.

For example, you want to prompt the user for a customer ID number from the Customer table. In the "Where Builder" dialog box, select the custid column and use the @'prompt' feature.

WHERE clause example


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Enter data using a form" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Form for Entering Data

Select the form to use for entering data.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Edit data using a form" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Form for Editing Data

Select the form to use for editing data.

Where Clause

Optionally, enter a WHERE clause to specify the rows of data to display in the form.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify the rows of data to display in the form.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Delete rows from a table" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Table for Deleting Rows

Select the table from which you want to delete rows.

Where Clause

Optionally, enter a WHERE clause to specify which rows of data to delete.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows of data to delete.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Browse and edit rows in a table" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Table to Browse

Select the table from which to display columns in the Data Browser.

Choose Columns to Browse

Select the column(s) to display in the Data Browser.

Where Clause

Optionally, enter a WHERE clause to specify which rows of data to display.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows of data to display.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Select rows from a table" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Table for Selecting Rows

Select the table from which to display information.

Choose Columns to Select

Select the columns to display.

Where Clause

Optionally, enter a WHERE clause to specify which rows of data to display.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows of data to display.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Update rows in a table" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Table for Updating Rows

Select the table to update.

Choose a Column to Update

Select the column to update.

Enter the New Value

Enter the value to insert.

Where Clause

Optionally, enter a WHERE clause to specify which rows to update.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows to update.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Print reports" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Report to Print

Select the report to print.

Where Clause

Optionally, enter a WHERE clause to specify which rows of data to print in the report.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows of data to print in the report.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

About...

Defines the action for the "Print labels" menu option.


 "Action Definition" dialog box
    In the "Menu Item Actions" dialog box, select a "New Action"

Dialog Box Options

Item Text

This field, which you can edit, displays the name you entered for the menu option.

Choose a Label to Print

Select the label to print.

Where Clause

Optionally, enter a WHERE clause to specify which rows of data to print in the label.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to specify which rows of data to print in the label.


Application Express dialog box
 "Application Express" dialog box
    Tools: Application Designer...

About...

Defines a new application, or chooses an existing application to modify.


 "Application Express" dialog box
    Tools: Application Designer...

Dialog Box Options

Name

Enter a one- to eight-character name for the application, or select an existing one to modify.

Window Title

Enter the title that will appear in the title bar when you run this application.

Pull-down Menus

Select this option if you want to use a pull-down menu system for the application.

Pop-up Menus

Select this option if you want to use a pop-up menu system for the application.


 "Application Express" dialog box
    Tools: Application Designer...

How to...

Start an application


Attach DBASE File dialog box
 "Attach dBASE File" dialog box
    Utilities: Attach dBASE File...

About...

Attaches dBASE files and their specified index files to the open database.


 "Attach dBASE File" dialog box
    Utilities: Attach dBASE File...

Dialog Box Options

Current Directory

The current directory is listed; enter a new directory if needed.

Browse

Click this button to select a new directory.

File Name

Select the dBASE file to attach.

Table Name

Select the dBASE file-table to detach.

Attach

Click this button to attach the specified dBASE file.

Detach

Click this button to detach the specified dBASE file-table.

Attached Table

Select the attached dBASE file-table that you want to add or change the associated index files.

Select Index(es)

Select the dBASE index files to use with the selected dBASE file-table.


Attach Table(s) dialog box
 "Attach Table(s)" dialog box
    Utilities: Attach SQL Database Tables...

About...

Attaches tables from foreign data sources. If the table has the same name as another table in the open database or an attached foreign table, you can specify an alias name that will be used for the foreign table while it is attached.


 "Attach Table(s)" dialog box
    Utilities: Attach SQL Database Tables...

Dialog Box Options

Data Source

Select the data source from which you want to attach a table.

Tables

Select the table you want to attach.

Attach as Alias

Check this option if you want to specify an alias for the selected table; this alias will be used as long as the foreign table is attached. Enter the alias in the box below.

Attach

Click this button to attach the selected table.

Close

Click this button when you have finished attaching foreign tables.


 "Attach Table(s)" dialog box
    Utilities: Attach SQL Database Tables...

See also

Foreign Data Sources and ODBC


 "Attach Table(s)" dialog box
    Utilities: Attach SQL Database Tables...

How to...

Attach a foreign table


Backup / Restore dialog box
 "Backup / Restore" dialog box
    Utilities: Backup/Restore Database...

About...

Backs up the current database to diskette(s), or restores a backup from diskette(s) to the directory from which the database was backed up.

Before you back up a database, the diskette(s) should be formatted. You should also check that no important files are on the diskette(s); R:BASE writes over any files when it creates the backup.


 "Backup / Restore" dialog box
    Utilities: Backup/Restore Database...

Dialog Box Options

Backup to Diskette

Select this option to back up the current database to diskette(s).

Restore from Diskette

Select this option to restore a database from a backup.

Drive

Select the floppy disk drive for the backup diskette(s).


 "Backup / Restore" dialog box
    Utilities: Backup/Restore Database...

How to...

Back up a database

Restore a database


 "Backup / Restore" dialog box
    Utilities: Backup/Restore Database...

See also

BACKUP Command

RESTORE Command


Change (Field) Order dialog box
 "Change (Field) Order" dialog box
    Layout: Change Field Order; Variables: Change Order

About...

The "Change Field Order" dialog box allows you to change the order of column and variable objects in a form. The order in which you place objects is the order in which R:BASE prompts you for data when you use the form. You can change this order by changing the order of the objects in the list.

The "Change Order" dialog box allows you to change the order in which variables are evaluated. Variables are evaluated in the order they are listed. When variables are dependent on other variables, they must be evaluated in a certain order to provide the correct results.


 "Change (Field) Order" dialog box
    Layout: Change Field Order; Variables: Change Order

Dialog Box Options

Order

This section lists either the form objects in the order in which they are placed, or the variables in the order they are evaluated.

New Position

This box displays the position of the selected object or variable in "Order." If you want to change the position, enter a new value.

Change

Click this button to accept the new position of the object or variable.


 "Change (Field) Order" dialog box
    Layout: Change Field Order; Variables: Change Order

How to...

Change the order of fields

Reorder a report variable

Reorder a label variable


 "Change (Field) Order" dialog box
    Layout: Change Field Order; Variables: Change Order

See also

Form Designer

Report Designer

Label Designer


Change Owner Identifier dialog box
 "Change Owner Identifier" dialog box
    Utilities: Access Rights... and click the Change Owner button

About...

Sets or changes the owner identifier. When you first create a database, the owner identifier is set to public. Unless a different identifier is set, anyone can modify the database structure, and read, enter, change, and delete data. Once an identifier is set, only users who enter it (in the "Set User ID and Password" dialog box) can access the database.


 "Change Owner Identifier" dialog box
    Utilities: Access Rights... and click the Change Owner button

Dialog Box Options

Enter Owner Identifier

Enter the owner identifier.


 "Change Owner Identifier" dialog box
    Utilities: Access Rights... and click the Change Owner button

How to...

Assign an owner identifier


 "Change Owner Identifier" dialog box
    Utilities: Access Rights... and click the Change Owner button

See also

"Set User ID and Password" dialog box


Character Settings dialog box
 "Character Settings" dialog box
    Utilities: Settings

About...

Specifies the character settings for the special characters used in R:BASE. You can also specify these settings using the SET command.


 "Character Settings" dialog box
    Utilities: Settings

Dialog Box Options

Many Wildcard

Enter a character to use for the many wildcard. This wildcard is used to specify a pattern for more than one character. The default is (%).

Quotes

Enter a character to use for the quotes character. This character is used when specifying character strings. The default is (').

Continuation

Enter a character to use for the continuation character, which is used to indicate that a line wraps in code. The default is (+)

Blank

Enter a character to indicate a space. The default is (space).

Null Symbol

Enter up to four characters to indicate a null value. The default is (-0-).

Single Wildcard

Enter a character to use for the single wildcard. This wildcard is used to specify a pattern for one character. The default is (_).

Command Separator

Enter a character to use to separate commands. The default is (;).

Delimit

Enter a character to use to separate characters or strings. The default is (,).

Lineend

Enter a character to indicate the end of a line for display of fields with NOTE or TEXT data types, or in the Data Browser. The default is ASCII character [Alt] + [0254].

Multi-User

Click this button to modify multi-user settings.

Format

Click this button to modify format settings.

Display

Click this button to modify display settings.

Misc

Click this button to modify miscellaneous settings.

Key Map

Click this button to create key maps.

Colors

Click this button to modify color settings.

OK

Click this button to accept the specified settings for this session of R:BASE. The settings revert to the saved settings in the R:BASE configuration file, RBASE.CFG, the next time you start R:BASE.

Save

Click this button to save the specified settings for future R:BASE sessions. The settings are saved in the R:BASE configuration file, RBASE.CFG.

Save As

Click this button to save your settings in a different R:BASE configuration file.

Read

Click this button to choose a configuration file from which to read the settings.


 "Character Settings" dialog box
    Utilities: Settings

See also

SET Command

R> Prompt


 "Character Settings" dialog box
    Utilities: Settings


CodeLock dialog box
 "CodeLock" dialog box
    Utilities: CodeLock...

About...

Defines the type of file you want to encode.


 "CodeLock" dialog box
    Utilities: CodeLock...

Dialog Box Options

Convert an ASCII Command File to a Binary Command File

Select this option to convert an ASCII command file to a binary command file.

Add an ASCII Command File to a Procedure File

Select this option to add an ASCII command file to a procedure file.

Add an ASCII Screen File to a Procedure File

Select this option to add an ASCII screen file to a procedure file.

Add an ASCII Menu File to a Procedure File

Select this option to add an ASCII menu file to a procedure file.

Convert an ASCII Application File to a Binary Procedure File

Select this option to convert an ASCII application file to a binary procedure file.


 "CodeLock" dialog box
    Utilities: CodeLock...

How to...

Convert an ASCII command file to a binary command file

Add an ASCII command file to a procedure file

Add an ASCII screen file to a procedure file

Add an ASCII menu file to a procedure file

Convert an ASCII application file to a binary procedure file


Colors Settings dialog box
 "Colors Settings" dialog box

About...

Sets text and background colors. You can set colors for the R> Prompt, columns in the Data Browser, and applications.

You can also specify the color setting for the R> Prompt using the SET command.


 "Colors Settings" dialog box

Dialog Box Options

Set Text Color

Click this button to select a color for text.

Set Background Color

Click this button to select a color for the background.


 "Colors Settings" dialog box

See also

SET Command

R> Prompt


 "Colors Settings" dialog box


Create Aggregate Function dialog box
 "Create Aggregate Function" dialog box
    Variables: Create Aggregate Functions...

About...

Creates variables for a report using aggregate functions, such as sums, counts, averages, minimums, and maximums. For example, you can use an aggregate function to define a variable to calculate a subtotal.


 "Create Aggregate Function" dialog box
    Variables: Create Aggregate Functions...

Dialog Box Options

Column Name

Select a column on which to perform an aggregate function.

Function

Select an aggregate function to use with the selected column.

Add

Click this button to accept the variable defined in "Column Name" and "Function."

Variables

This section lists the variables that have been defined for this report.


 "Create Aggregate Function" dialog box
    Variables: Create Aggregate Functions...

How to...

Create a variable from an aggregate function


 "Create Aggregate Function" dialog box
    Variables: Create Aggregate Functions...

See also

Report Designer


Create Breakpoint dialog box
 "Create Breakpoint" dialog box
    Layout: Create Breakpoint...

About...

Sets the breakpoints for a report and specifies which variables to reset at breakpoints.

A breakpoint is used to group data. You can set up to ten breakpoints in a report. For each breakpoint you define, you can also define a corresponding break header and break footer that change each time the breakpoint changes. Breakpoints are useful for displaying subtotals because you can display variables that are reset to zero at each breakpoint.

For example, in a sales report for employees, you can define a breakpoint to be the empid (employee ID number) column. If there are eight employees, the breakpoint will change eight times. You can define a sales subtotal variable to be displayed in the break footer. Each time the breakpoint changes to the next employee, the break footer displays the sales subtotal for that employee. You can then see how much each employee sold.

For more information about breakpoints, refer to "Setting Breakpoints" in Chapter Three in the User's Manual.


 "Create Breakpoint" dialog box
    Layout: Create Breakpoint...

Dialog Box Options

Available Breakpoints

This section lists the remaining breakpoints that you can define.

Current Breakpoints

This section lists the breakpoints that you have already defined.

Add

Click this button to define a breakpoint; select the breakpoint you want to add from "Available Breakpoints" and click this button. The breakpoint is added to the list of "Current Breakpoints."

Remove

Click this button to remove a defined breakpoint; select the breakpoint you want to remove from "Current Breakpoints" and click this button.

Columns

Select this option to define a breakpoint (the selected breakpoint in "Current Breakpoints") on a field associated with a column.

Variables

Select this option to define a breakpoint (the selected breakpoint in "Current Breakpoints") on a field associated with a variable.

Name

Select the column or variable for the selected breakpoint in "Current Breakpoints."

Variables Reset

Select the variables you want to reset at the selected breakpoint in "Current Breakpoints."

Form Feeds Before Header

Check this option if you want to issue form feeds (page breaks) before the break header associated with this breakpoint.

Break Header

Check this option if you want to keep the break header section together on one page. This option is not valid if the lines per page setting in the "Report Settings" dialog box is less than the number of lines needed to print this section together.

Break Footer

Check this option if you want to keep the break footer section together on one page.This option is not valid if the lines per page setting in the "Report Settings" dialog box is less than the number of lines needed to print this section together.


 "Create Breakpoint" dialog box
    Layout: Create Breakpoint...

How to...

Define a breakpoint

Modify a breakpoint


 "Create Breakpoint" dialog box
    Layout: Create Breakpoint...

See also

"Report Settings" dialog box

Report Designer


Database Info dialog box
 "Database Info" dialog box
    Edit: Paste DB Info... or press [F3]

About...

Displays, copies, and pastes information about the open database.


 "Database Info" dialog box
    Edit: Paste DB Info... or press [F3]

Options...

  To display tables, variables, views, forms, or reports defined for the open database, select an item from the section on the left; the middle section displays the defined items. For example, if you select "Tables," all the tables defined for the current database are listed. Select one or more items if you want to copy their names.

  To display columns for a specified table, select "Columns," then select the table from the middle section. The columns are displayed in the section on the right. Select one or more columns if you want to copy their names.

When you click the OK button, the selected information is copied to the clipboard and pasted in the area in which you are working. For example, if you open this dialog box from RBEdit, select "Tables," highlight a few table names, then click the OK button, the table names are copied and pasted in RBEdit.

Note: In the RBDefine, the selected information is not automatically pasted; choose Edit: Paste to paste the information.


 "Database Info" dialog box
    Edit: Paste DB Info... or press [F3]

See also

RBEdit

R> Prompt

"Edit Variables" dialog box

"Where Builder" dialog box


Detach Table(s) dialog box
 "Detach Table(s)" dialog box
    Utilities: Detach SQL Database Tables...

About...

Detaches tables from foreign data sources.


 "Detach Table(s)" dialog box
    Utilities: Detach SQL Database Tables...

Dialog Box Options

Select Table

Select the foreign table you want to detach.

Detach

Click this button to detach the selected foreign table.

Close

Click this button after you have finished detaching foreign tables.


 "Detach Table(s)" dialog box
    Utilities: Detach SQL Database Tables...

See also

Foreign Data Sources and ODBC


 "Detach Table(s)" dialog box
    Utilities: Detach SQL Database Tables...

How to...

Detach a foreign table


Disconnect Data Source dialog box
 "Disconnect Data Source" dialog box
    Utilities: Disconnect SQL Data Source...

About...

Disconnects the selected foreign data source from the open R:BASE database.


 "Disconnect Data Source" dialog box
    Utilities: Disconnect SQL Data Source...

Dialog Box Options

Select Data Source

Select the data source you want to disconnect.

Disconnect

Click this button to disconnect the selected data source.

Close

Click this button when you have finished disconnecting data sources.


 "Disconnect Data Source" dialog box
    Utilities: Disconnect SQL Data Source...

See also

Foreign Data Sources and ODBC


 "Disconnect Data Source" dialog box
    Utilities: Disconnect SQL Data Source...

How to...

Disconnect a foreign data source


Display Settings dialog box
 "Display Settings" dialog box
    Utilities: Settings... and click the Display button

About...

Specifies the settings for displaying data.  You can also specify these settings using the SET command.


 "Display Settings" dialog box
    Utilities: Settings... and click the Display button

Dialog Box Options

And Precedence

Check this option to give the AND operator precedence over the OR operator. R:BASE processes all AND before all OR conditions, and all AND NOT before AND OR conditions. If this option is not checked, R:BASE processes conditions from left to right.

Ansi

Check this option to reduce the reserved word list. For this list, see the "Reserved Words" in the Reference Manual.

Application Break

Check this option to be able to stop processing in the middle of command files, WHILE loops, and database access by pressing [Ctrl] + [Break].

Autoskip

Check this option to use Autoskip in forms; after entering a value in a field, the cursor automatically moves to the next field. If this option is not checked, you must press [Tab] to move to the next field.

Bell

Check this option to sound the bell when an error occurs.

Case Sensitivity

Check this option if you want to make a distinction between lowercase and uppercase in WHERE clauses, IF structures, WHILE loops, TALLY, and in RULES where are comparisons are equal or not equal.

Clear

Check this option if you want R:BASE to clear the internal buffers and transfer data to disk after each modification. If this option is not checked, R:BASE writes modified data to disk only when the buffer is full, a database is closed, or you exit R:BASE.

Debug

Check this option if you want R:BASE to execute commands that are preceded with "DEBUG." If this option is not checked, R:BASE ignores these commands.

Echo

Check this option to display commands as they are processed from the current ASCII input device.

Error Messages

Check this option to display error messages.

Feedback

Check this option to display processing results when either calculating or editing rows. R:BASE displays the number of rows processed and the elapsed time to completion in the status bar. Displays occur while in the Data Browser, when printing reports and labels, and when using certain R:BASE commands.

Headings

Check this option to display columns with headings when you enter the SELECT or TALLY commands.

Insert/Overwrite

Check this option to use either the insert or overwrite mode. Pressing [Ins] toggles you between insert mode and overwrite mode. If this option is not checked, you can use only the overwrite mode. This only applies to the FILLIN command and variable forms.

Layout

Check this option to save the layout of the data displayed in the Data Browser (single tables only).

Reverse Video

Check this option to display data entry fields in reverse video.

Rules

Check this option to enforce data entry rules; R:BASE checks data against all existing rules during data entry and modification. If this option is not checked, R:BASE ignores all rules when rules are not defined for a table, you are archiving data, or you are transferring data into another database.

Scratch Files

Check this option to store temporary sort files on the database drive and directory. If this option is not checked, files are stored on the current drive and directory.

Sort Order

Check this option to use the sort optimizer; R:BASE sorts the minimal amount of data for large tables and recombines the sorted data with the unsorted rows using the minimum amount of disk space.

Sortmenu

Check this option to display options in menus in alphabetical ascending order. Menus with column names and values remain unsorted in their original order.

Status Messages

Check this option to display system messages.

Wrap

Check this option to wrap text in fields with NOTE, VARCHAR, and TEXT data types in variable forms and FILLIN windows.

Zero

Check this option to treat null values as a zero in a mathematical expression involving INTEGER, NUMERIC, REAL, DOUBLE, CURRENCY, DATE, DATETIME, or TIME data types.

Chars

Click this button to modify character settings.

Multi-User

Click this button to modify multi-user settings.

Format

Click this button to modify format settings.

Misc

Click this button to modify miscellaneous settings.

Key Map

Click this button to create key maps.

Colors

Click this button to modify color settings.

OK

Click this button to accept the specified settings for this session of R:BASE. The settings revert to the saved settings in the R:BASE configuration file, RBASE.CFG, the next time you start R:BASE.

Save

Click this button to save the specified settings for future R:BASE sessions. The settings are saved in the R:BASE configuration file, RBASE.CFG.

Save As

Click this button to save your settings in a different R:BASE configuration file.

Read

Click this button to read the settings from a specified configuration file


 "Display Settings" dialog box
    Utilities: Settings... and click the Display button

See also

SET Command

R> Prompt


 "Display Settings" dialog box
    Utilities: Settings... and click the Display button


Edit Variables dialog box
 "Edit Variables" dialog box
    Variables: Edit...

About...

Creates variables and expressions for forms, reports, and labels. Variables can be used to display information such as calculations, text concatenations, the current date, and the current time.


 "Edit Variables" dialog box
    Variables: Edit...

Dialog Box Options

Variables

This section lists the variables that are defined for the current form, report, or label.

Delete

Click this button to delete the selected variable in "Variables."

Define Expression

Enter an expression in this section to define a variable.

Add

Click this button to accept the variable defined in "Define Expression."

Change

Click this button to replace the selected variable in "Variables" with the variable in "Define Expression."

Variable Type

Select the data type for the variable in "Define Expression."


 "Edit Variables" dialog box
    Variables: Edit...

How to...

Define a new variable (forms)

Define a new variable (reports)

Edit a variable (reports)

Delete a variable (reports)

Define a new variable (labels)

Edit a variable (labels)

Delete a variable (labels)


 "Edit Variables" dialog box
    Variables: Edit...

See also

Form Designer

Report Designer

Label Designer

"Database Info" dialog box


Field Settings dialog box
 "Field Settings" dialog box
    Format: Field Settings..., or right-click on the object and choose Field Settings...

About...

Specifies settings for a selected field object in a form.


 "Field Settings" dialog box
    Format: Field Settings..., or right-click on the object and choose Field Settings...

Dialog Box Options

New Data Can be Entered Into the Field

Check this option if you want users to be able to enter new data in this field.

User Can Change the Data in the Field

Check this option if you want users to be able to modify data in this field.

Restrict Changes to the Current Table

Check this option if you want data to be updated only in the current table and to prevent changes to common columns in other tables in the form.

Use Default Value or Format Mask

Check this option if you want to use a default value or format mask in this field. A default value appears automatically when the user uses the form; a format mask determines how the data is displayed.

Enter Default Value, #DUP or Format Mask

Enter the default value or format mask you want to use. If you want this to display the contents of the previously entered row, enter "#dup."

Display Help Message

Check this option if you want to display a custom help message for this field in the status bar.

Enter Help Message

Enter the help message you want to display for this field.

On Entry Into Field (Run)

If you want to run an entry/exit procedure (EEP) as the user enters this field, enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

On Entry Into Field (In)

If you want to run an entry/exit procedure (EEP) as the user enters this field and the EEP is a command block in a procedure file, enter the name of the procedure file.

On Exit From Field (Run)

If you want to run an entry/exit procedure (EEP) as the user exits this field, enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

On Exit From Field (In)

If you want to run an entry/exit procedure (EEP) as the user exits this field and the EEP is a command block in a procedure file, enter the name of the procedure file.

Pop-up Menus

Click this button to define a pop-up menu for this field in the 'Pop-up Menus" dialog box. When the form is used, users can select values to place in this field from the pop-up menu.


 "Field Settings" dialog box
    Format: Field Settings..., or right-click on the object and choose Field Settings...

How to...

Customize field settings

Use a pop-up menu for a field object


 "Field Settings" dialog box
    Format: Field Settings..., or right-click on the object and choose Field Settings...

See also

Entry/Exit Procedures (EEPs)

Using Format Masks

"Pop-up Menus" dialog box


 Using Format Masks

A format mask specifies how data should appear when you enter and display it. You can use format masks only on fields whose columns have a TEXT data type. A format mask is a series of character modifiers, which can replace, add to, or modify individual characters or numbers within a field.

For example, for a field that is used to enter social security numbers, the data entered should be 3 digits, a hyphen, 2 digits, a hyphen, and 4 digits, such as "123-45-6789." In this example, the character modifier would be 9, which prevents users from entering anything other than numbers into this field. The format mask would be [999-99-9999]. For a field that accepts state abbreviations, the data should be two uppercase letters; the character modifier for uppercase letters is _. The format mask would be [ _ _ ].

The column definition associated with the field should be large enough to store both the constant string and the data. For instance, the column and field for a social security number should be 11 characters long to include both the hyphens and numbers.

If you have fewer character modifiers than the data entered, characters are entered as typed. For example, you set a format mask as [ _ ] for a last name field. All names in this field are displayed with the first character in uppercase. If you want to make sure all the characters after the first are lowercase, you should specify the format, such as
[ _ |||||||||||||||||||].

Modifier	Result
	...for letters	...for numbers	...for blanks
9	reject	number	blank
0	reject	number	0
_	uppercase	reject	reject
|	lowercase	reject	reject
%	uppercase	number	blank
?	lowercase	number	blank
^	blank	blank	blank


Form Settings dialog box
 "Form Settings" dialog box
    Layout: Form Settings...

About...

Specifies the settings for the current form, including password protection, colors, object settings, and menus.


 "Form Settings" dialog box
    Layout: Form Settings...

Dialog Box Options

Use Password for Form

Check this option if you want to protect the form with a password. Only users who enter the correct password can use the form.

Read Only Password

If you check "Use Password for Form," enter the password for the form to allow read-only access.

Modify Password

If you check "Use Password for Form," enter the password for the form to allow users to modify data in the form.

Clear Screen Before Form Use

Check this option if you want to clear the R> Prompt before you use a form.

Clear Screen After Form Use

Check this option if you want to clear the R> Prompt after you use a form.

Show Toolbar at Runtime

Check this option if you want navigation buttons to be used in the form. These buttons allow the user to advance through fields, tables, and pages. The user can also use these buttons to zoom in on fields, and save data.

Form Background Color

Click this button to specify a background color for the form.

Column Objects

Click this button to specify column object settings, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify variable object settings, such as font, text and background color, and text justification.

Text Objects

Click this button to specify text object settings, such as font, text and background color, and text justification.

Box Objects

Click this button to specify box object settings, such as border color, type, and width.

3D Box Objects

Click this button to specify 3D box object settings, such as border color, type, and width.

Use Pop-up Menu Hotkey

Check this option if you want to set a hot key for opening pop-up menus; when the user presses the hot key combination, a pop-up menu for the current field opens.

Hotkey

Enter the hot key for opening pop-up menus.

Use Form for Entering Data

Check this option if you want the current form to be used for entering data.

Change Enter Menu

Click this button if you want to customize the options in the form's Enter menu, which appears when the form is used (the current options are displayed below this button). You can then select which menu options you want available to the user.

Use Form for Editing Data

Check this option if you want the current form to be used for editing data.

Change Edit Menu

Click this button if you want to customize the options in the form's Edit menu, which appears when the form is used (the current options are displayed below this button). You can then select which menu options you want available to the user.


 "Form Settings" dialog box
    Layout: Form Settings...

How to...

Customize column or variable object settings


 "Form Settings" dialog box
    Layout: Form Settings...

See also

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


 "Form Settings" dialog box
    Layout: Form Settings...

About...

Specifies the settings for all new forms, including password protection, objects, and menus.


 "Form Settings" dialog box
    Layout: Form Settings...

Dialog Box Options

Use Password for Form

Check this option if you want to protect the form with a password. Only users who enter the correct password can use the form.

Read Only Password

If you check "Use Password for Form," enter the password for the form to allow read-only access.

Modify Password

If you check "Use Password for Form," enter the password for the form to allow users to modify data in the form.

Clear Screen Before Form Use

Check this option if you want to clear the R> Prompt before you use a form.

Clear Screen After Form Use

Check this option if you want to clear the R> Prompt after you use a form.

Show Toolbar at Runtime

Check this option if you want navigation buttons to be used in the form. These buttons allow the user to advance through fields, tables, and pages. The user can also use these buttons to zoom in on fields, and save data.

Form Background Color

Click this button to specify a background color for the form.

Column Objects

Click this button to specify default column object settings for all new forms, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify default variable object settings for all new forms, such as font, text and background color, and text justification.

Text Objects

Click this button to specify default text object settings for all new forms, such as font, text and background color, and text justification.

Box Objects

Click this button to specify default box object settings for all new forms, such as border color, type, and width.

3D Box Objects

Click this button to specify default 3D box object settings for all new forms, such as border color, type, and width.

Use Pop-up Menu Hotkey

Check this option if you want to set a hot key for opening pop-up menus; when the user presses the hot key combination, a pop-up menu for the current field opens.

Hotkey

Enter the hot key for opening pop-up menus.

Use Form for Entering Data

Check this option if you want the current form to be used for entering data.

Change Enter Menu

Click this button if you want to customize the options in the form's Enter menu, which appears when the form is used (the current options are displayed below this button). You can then select which menu options you want available to the user.

Use Form for Editing Data

Check this option if you want the current form to be used for editing data.

Change Edit Menu

Click this button if you want to customize the options in the form's Edit menu, which appears when the form is used (the current options are displayed below this button). You can then select which menu options you want available to the user.


 "Form Settings" dialog box
    Layout: Form Settings...

How to...

Customize column or variable object settings


 "Form Settings" dialog box
    Layout: Form Settings...

See also

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


Form/Report/Label Designer dialog box
 "Form/Report/Label Designer" dialog box
    Tools: Form Designer; Tools: Report Designer
    Tools: Label Designer

About...

Defines a form, report, or label, or specifies an existing form, report, or label to modify.


 "Form/Report/Label Designer" dialog box
    Tools: Form Designer; Tools: Report Designer
    Tools: Label Designer

Dialog Box Options

New

Select this option to define a new form, report, or label.

Existing

Select this option to modify an existing form, report, or label.

Name

Enter a one- to eighteen-character name for the form, report, or label.

Description

Enter a description of the form, report, or label.

Table

Select the driving table or view (the table or view that provides the data) for the form, report, or label. If you are defining a form that serves more than one table, select one table and add the other tables when the form appears in the Form Designer.

Custom

Select this option to create a custom form, report, or label. The custom option starts you with a blank form, report, or label, to which you can add the fields and objects you want.

Quick

Select this option to create a quick form, report, or label. The quick option lists the columns from the driving table; R:BASE places fields that correspond to the columns you select on the form, report, or label. You can select up to 18 columns. Press [Shift] + [F6] to select all columns.

Row-wise

Reports only using the "Quick" option; select this option to place the fields in rows.

Column-wise

Reports only using the "Quick" option; select this option to place the fields in columns.


 "Form/Report/Label Designer" dialog box
    Tools: Form Designer; Tools: Report Designer
    Tools: Label Designer

How to...

Define a form

Define a report

Define a label


 "Form/Report/Label Designer" dialog box
    Tools: Form Designer; Tools: Report Designer
    Tools: Label Designer

See also

Form Designer

Report Designer

Label Designer


Formatting Settings dialog box
 "Formatting Settings" dialog box
    Utilities: Settings and click the Format button.

About...

Specifies the format settings for date, time, and currency. You can also specify these settings using the SET command.


 "Formatting Settings" dialog box
    Utilities: Settings and click the Format button.

Dialog Box Options

Date Output

Enter a format for the way you want the date displayed when you view database information. For example, if you want reports to display dates with hyphens, enter "MM-DD-YY."

Date Input

Enter a format for the way you want dates entered. For example, if you want to be able to enter dates in forms in international style, enter "MMDDYY."

Time Output

Enter a format for the way you want the time displayed when you view database information. For example, if you want forms to display the time in hours and minutes only, enter "HH:MM."

Time Input

Enter a format for the way you want the time entered. For example, if you want to be able to enter the time in forms as hours then minutes, enter "HHMM."

Symbol

Enter up to four characters for the currency symbol.

Digits

Enter the number of digits (up to 16) to indicate the number of decimal places to display for currency. The default is two and displays two decimal places for cents.

Format

Select an option to indicate which formats to use for decimal and thousands delimiters. You can select the following formats:

A
B
C

Suffix

Select this option if you want the currency symbol to follow the currency value, such as "120 FF."

Prefix

Select this option if you want the currency symbol to come before the currency value, such as "$120.00."

Chars

Click this button to modify character settings.

Multi-User

Click this button to modify multi-user settings.

Display

Click this button to modify display settings.

Misc

Click this button to modify miscellaneous settings.

Key Map

Click this button to create key maps.

Colors

Click this button to modify color settings.

OK

Click this button to accept the specified settings for this session of R:BASE. The settings revert to the saved settings in the R:BASE configuration file, RBASE.CFG, the next time you start R:BASE.

Save

Click this button to save the specified settings for future R:BASE sessions. The settings are saved in the R:BASE configuration file, RBASE.CFG.

Save As

Click this button to save your settings in a different R:BASE configuration file.

Read

Click this button to read the settings from a specified configuration file


 "Formatting Settings" dialog box
    Utilities: Settings and click the Format button.

See also

SET Command

R> Prompt


 "Formatting Settings" dialog box
    Utilities: Settings and click the Format button.


Format A

Thousands delimiter: .

Decimal delimiter: ,

Example: 123.456.789,01

Note: You must set the delimiter before changing these. Refer to the "SET" entry in the Reference Manual.


Format B

Thousands delimiter: ,

Decimal delimiter: .

Example: 123,456,789.01


Format C

Thousands delimiter: (space)

Decimal delimiter: ,

Example: 123 456 789,01

Note: You must set the delimiter before changing these. Refer to the "SET" entry in the Reference Manual.


Label Settings dialog box
 "Label Settings" dialog box
    Layout: Label Settings...

About...

Defines the dimensions and object settings for the current label.


 "Label Settings" dialog box
    Layout: Label Settings...

Dialog Box Options

Size Template

Select a template to use. You can modify any of these for custom labels. All the templates are in inches. The first eight list dimensions in width by height by labels across. The last five templates list dimensions in height by width by labels across.

Defaults

The default settings for the current "Size Template" are listed.

Width

This option displays the default width of a label for the current "Size Template." Optionally, you can modify this value.

Height

This option displays the default height of a label for the current "Size Template." Optionally, you can modify this value.

Labels Across Page

This option displays the default number of labels across the page for the current "Size Template." Optionally, you can modify this value.

Spaces Between Labels

This options displays the default setting for the amount of space between labels for the current "Size Template." Optionally, you can modify this value.

Lines After Label

This options displays the default setting for the number of lines after each label for the current "Size Template." Optionally, you can modify this value.

Left Margin

This options displays the default setting for the left margin for the current "Size Template." Optionally, you can modify this value.

Top Margin

This options displays the default setting for the right margin for the current "Size Template." Optionally, you can modify this value.

Labels Down Page

This options displays the default number of labels on a page for the current "Size Template." Optionally, you can modify this value.

Column Objects

Click this button to specify default column object settings for this label, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify default variable object settings for this label, such as font, text and background color, and text justification.

Text Objects

Click this button to specify default text object settings for this label, such as font, text and background color, and text justification.

Box Objects

Click this button to specify default box object settings for this label, such as border color, type, and width.


 "Label Settings" dialog box
    Layout: Label Settings...

How to...

Specify the settings for a label


 "Label Settings" dialog box
    Layout: Label Settings...

See also

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


 "Label Settings" dialog box
    Layout: Label Settings...

About...

Defines the dimensions and object settings for all new labels.


 "Label Settings" dialog box
    Layout: Label Settings...

Dialog Box Options

Size Template

Select a template to use. You can modify any of these for custom labels. All the templates are in inches. The first eight list dimensions in width by height by labels across. The last five templates list dimensions in height by width by labels across.

Defaults

The default settings for the current "Size Template" are listed.

Width

This option displays the default width of a label for the current "Size Template." Optionally, you can modify this value.

Height

This option displays the default height of a label for the current "Size Template." Optionally, you can modify this value.

Labels Across Page

This option displays the default number of labels across the page for the current "Size Template." Optionally, you can modify this value.

Spaces Between Labels

This options displays the default setting for the amount of space between labels for the current "Size Template." Optionally, you can modify this value.

Lines After Label

This options displays the default setting for the number of lines after each label for the current "Size Template." Optionally, you can modify this value.

Left Margin

This options displays the default setting for the left margin for the current "Size Template." Optionally, you can modify this value.

Top Margin

This options displays the default setting for the right margin for the current "Size Template." Optionally, you can modify this value.

Labels Down Page

This options displays the default number of labels on a page for the current "Size Template." Optionally, you can modify this value.

Column Objects

Click this button to specify default column object settings for all new labels, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify default variable object settings for all new labels, such as font, text and background color, and text justification.

Text Objects

Click this button to specify default text object settings for all new labels, such as font, text and background color, and text justification.

Box Objects

Click this button to specify default box object settings for all new labels, such as border color, type, and width.


 "Label Settings" dialog box
    Layout: Label Settings...

How to...

Specify the settings for a label


 "Label Settings" dialog box
    Layout: Label Settings...

See also

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


Menu Item Actions dialog box
 "Menu Item Actions" dialog box
   Right-click on a menu option and choose Menu Item Settings...

About...

Defines the action(s) for a menu option in an application you design.


 "Menu Item Actions" dialog box
   Right-click on a menu option and choose Menu Item Settings...

Dialog Box Options

Item Text

This option displays the name of the menu option. Optionally, you can modify this text.

Current Actions

This section lists the actions that are currently defined for the menu option in the order in which they will be performed.

Move Up

Click this button to move the selected action in "Current Actions" up one position.

Move Down

Click this button to move the selected action in "Current Actions" down one position.

New Action

Select an action for the menu option. You can select the following actions:

Enter data using a form
Edit data using a form
Delete rows from a table
Browse and edit rows in a table
Select rows from a table
Update rows in a table
Print reports
Print labels
Custom actions
Set user identifier
Exit

Add After

Click this button to add the new action after the action selected in "Current Actions."

Add Before

Click this button to add the new action before the action selected in "Current Actions."

Replace

Click this button to replace the action selected in "Current Actions" with the new action.

Delete

Click this button to delete the action selected in "Current Actions."

Edit Custom

Click this button to edit the custom action selected in "Current Actions."


 "Menu Item Actions" dialog box
   Right-click on a menu option and choose Menu Item Settings...

How to...

Assign an action to a menu option


 "Menu Item Actions" dialog box
   Right-click on a menu option and choose Menu Item Settings...

See also

BROWSE Command

DELETE Command

EDIT Command

ENTER Command

EXIT Command

LBLPRINT Command

PRINT Command

SELECT Command

SET USER Command

UPDATE Command

"Where Builder" dialog box

Prompting the User for WHERE Conditions


Enter Data Using a Form

This menu option allows the user to enter data using a data entry form that you select.


Edit Data Using a Form

This menu option allows the user to edit data using a data entry form that you select. When the user selects this option, the application shows a form displaying information that satisfies conditions you specify, or if prompted, the conditions specified by the user.


Delete Rows from a Table

This menu option allows the user to remove rows from a table. The application deletes rows that satisfy a condition that either you or the user specifies. If you provide conditions, R:BASE automatically deletes any row that satisfies them. If you prompt the user for conditions, the user must complete the condition before R:BASE deletes a row.


Browse and Edit Rows in a Table

This menu option displays a table for the user to edit. The Data Editor displays the rows and columns that satisfy the conditions you specify, or if prompted, the conditions specified by the user. The user can edit any values that are displayed.


Select Rows from a Table

This menu option displays data that you select or prompt for. The data is not displayed in a tabular format, but is listed.


Update Rows in a Table

This menu option allows the user to update a column in a table. When the user selects this menu option, the application updates data in the rows you specify.


Print Reports

This menu option allows the user to print a report that you select. When the user selects this menu option, the application will print to a destination of the user's choice.


Print Labels

This menu option allows the user to print a label that you select. When the user selects this menu option, the application will print to a destination of the user's choice.


Custom Actions

This menu option allows you to create a customized action using R:BASE commands. When the user selects this menu option, the application runs the commands you entered. A custom action can run R:BASE commands and external command and procedure files.


Set User Identifier

This menu option allows you to assign a user identifier to a menu option if the table or view accessed by the option is protected. The user identifier is automatically issued when the user chooses this command and the action you defined for the option is carried out. The user identifier remains in effect until you change it.

You can also prompt the user for an identifier; only users with the correct identifier can then access the menu option. You can specify this prompt when you define this menu action.


Exit

This menu option allows the user to return to the previous menu. If this menu option is on the main menu, the user exits the application.


Miscellaneous Settings dialog box
 "Miscellaneous Settings" dialog box
    Utilities: Settings... and click the Misc button

About...

Specifies miscellaneous R:BASE settings. You can also specify these settings using the SET command.


 "Miscellaneous Settings" dialog box
    Utilities: Settings... and click the Misc button

Dialog Box Options

Width

You can change the setting for the width of data displayed in the R> Prompt, measured in characters.

Lines

You can specify the number of lines of data displayed in the R> Prompt. R:BASE displays the lines, then pauses before displaying the rest of the data. If you want R:BASE to display all the data so that it scrolls and does not pause, enter "0."

File Depth

You can change the number of command files that can be nested.

Tolerance

You can change the range of variation permitted in testing REAL, DOUBLE, and NUMERIC precision numbers.

Note Padding

You can change the allocation for the additional percentage of storage space in NOTE columns to accommodate additional text.

Chars

Click this button to modify character settings.

Multi-User

Click this button to modify multi-user settings.

Format

Click this button to modify format settings.

Display

Click this button to modify display settings.

Key Map

Click this button to create key maps.

Colors

Click this button to modify color settings.

OK

Click this button to accept the specified settings for this session of R:BASE. The settings revert to the saved settings in the R:BASE configuration file, RBASE.CFG, the next time you start R:BASE.

Save

Click this button to save the specified settings for future R:BASE sessions. The settings are saved in the R:BASE configuration file, RBASE.CFG.

Save As

Click this button to save your settings in a different R:BASE configuration file.

Read

Click this button to read the settings from a specified configuration file


 "Miscellaneous Settings" dialog box
    Utilities: Settings... and click the Misc button

See also

SET Command

R> Prompt


 "Miscellaneous Settings" dialog box
    Utilities: Settings... and click the Misc button


Multi-User Settings dialog box
 "Multi-User Settings" dialog box
    Utilities: Settings... and click the Multi-User button

About...

Specifies the settings for running R:BASE for multiple users (multi-user mode).


 "Multi-User Settings" dialog box
    Utilities: Settings... and click the Multi-User button

Dialog Box Options

Multi-User

Check this option if you want to use R:BASE in a multi-user environment.

Row Locks

Check this option to use row-locking. When this option is not check, while one user is updating a table, R:BASE will not allow other users to access any row in the table. If you check this option, R:BASE only denies access to the specific row being updated, not the entire table.

Static Schema Mode

Check this option if you want to prevent users from making permanent structure changes in the database. Any tables created will be temporary and will be discarded when they exit R:BASE.

Row Verify

Select this option to set concurrency control to the row level. When a user modifies a row of data in a table, R:BASE checks if other users are modifying data in any column in that row. If R:BASE notes a change, the entire form is refreshed for the user with the data as it currently exists in the database.

Column Verify

Select this option to set concurrency control to the column level. When a user modifies data in a column in a table, R:BASE checks if other users are modifying data in that column only. As long as there is no conflict, other users' changes appear without a warning message, and the user's edited data is saved to its table.

Wait Time

You can modify the wait time, which is the time in seconds for which R:BASE will continue to retry access to a table or database before it halts.

Wait Interval

You can modify the wait interval, which is the time in tenths of a second that R:BASE wakes up to try again to access a table or database.

Network ID

Enter the name used to distinguish this workstation from others.

Autorefresh Interval

You can modify the interval specifying how often R:BASE refreshes a form and displays current data.

Chars

Click this button to modify character settings.

Format

Click this button to modify format settings.

Display

Click this button to modify display settings.

Misc

Click this button to modify miscellaneous settings.

Key Map

Click this button to create key maps.

Colors

Click this button to modify color settings.

OK

Click this button to accept the specified settings for this session of R:BASE. The settings revert to the saved settings in the R:BASE configuration file, RBASE.CFG, the next time you start R:BASE.

Save

Click this button to save the specified settings for future R:BASE sessions. The settings are saved in the R:BASE configuration file, RBASE.CFG.

Save As

Click this button to save your settings in a different R:BASE configuration file.

Read

Click this button to read the settings from a specified configuration file.


 "Multi-User Settings" dialog box
    Utilities: Settings... and click the Multi-User button

See also

SET Command

R> Prompt


 "Multi-User Settings" dialog box
    Utilities: Settings... and click the Multi-User button


New Key/Index dialog box
 "New Key/Index" dialog box
    In the RBDefine, click the New Key button

About...

Defines a constraint or an index for a column.


 "New Key/Index" dialog box
    In the RBDefine, click the New Key button

Dialog Box Options

Primary Key

Check this option if you want to define a primary key for the current column.

Unique Key

Check this option if you want to define a unique key for the current column.

Index

Check this option if you want to define an index for the current column.

Foreign Key

Check this option if you want to define a foreign key for the current column.

Not Null

Check this option to require that only non-null values are entered in this column.

Case Sensitive

Check this option if you want to differentiate between lowercase and uppercase characters in this column. For example, "A" and "a" would be considered unique values if you check this option.

Unique

Check this option to require that values entered in this column are unique.

Options for a Primary-Key Column

Message on insert of a Primary Key value which is not unique

Enter the message that is displayed when a user tries to enter a non-unique value.

Message on delete of a PK value also in a referencing FK

Enter the message that is displayed when a user tries to delete a value that is referred to by a foreign key.

Message on update of a PK value also in a referencing FK

Enter the message that is displayed when a user tries to change a value that is referred to by a foreign key.

Options for a Foreign-Key Column

Message on insert of a FK value not in the referenced table

Enter the message that is displayed when a user tries to enter a value that does not exist in the primary-key column to which the foreign key refers.

Message on update of a FK value to one not in the referenced table

Enter the message that is displayed when a user tries to change a value to a value that does not exist in the primary-key column.

Options for a Unique-Key Column

Message on insert of a Unique value which is not unique

Enter the message that is displayed when a user tries to enter a value that is not unique.

Message on delete of a Unique value also in a referencing FK

Enter the message that is displayed when a user tries to delete a value that is referred to by a foreign key.

Message on update of a Unique value also in a referencing FK

Enter the message that is displayed when a user tries to change a value that is referred to by a foreign key.

Index Options

Enter the name for this index

Enter the name of the index.


 "New Key/Index" dialog box
    In the RBDefine, click the New Key button

How to...

Apply a constraint to a column

Remove a constraint

Apply an index to a column


 "New Key/Index" dialog box
    In the RBDefine, click the New Key button

See also

Constraints

RBDefine


New Rule dialog box
 "New Rule" dialog box
    In the RBDefine, click the New Rule button

About...

Defines a rule that you apply to a column. This dialog box corresponds to the RULES command.


 "New Rule" dialog box
    In the RBDefine, click the New Rule button

Dialog Box Options

Rule Type

Select a rule to apply to a column. You can select one of the following rules:

Require a value
Require a unique value
Verify a value
Restrict deletion
Specify a maximum value
Specify a  minimum value
Specify a value range
Custom rule

Rule Column

Select the column to which you want to apply this rule.

Verification Table

If you select "Verify a value" for the "Rule Type," select the table that contains the column in which you will verify a value.

Verification Column

If you select "Verify a value" for the "Rule Type," select the column in which you will verify a value.

Maximum Value

If you select "Specify a maximum value" or "Specify a value range" for the "Rule Type," specify the maximum value the user can enter.

Minimum Value

If you select "Specify a minimum value" or "Specify a value range" for the "Rule Type," specify the minimum value the user can enter.


 "New Rule" dialog box
    In the RBDefine, click the New Rule button

How to...

Apply a rule to a column

Modify a rule

Delete a rule


 "New Rule" dialog box
    In the RBDefine, click the New Rule button

See also

RULES Command

"New Rule" dialog box (Custom and Restrict Deletion)


Require a Value

Select this rule if you want to require the user to enter a non-null value in this column.


Require a Unique Value

Select this rule to require the user to enter a value that is unique to this column.


Verify a Value

Select this rule to require the user to enter a value that exists in another column you specify.


Restrict Deletion

Select this rule to specify conditions that must be met before allowing deletion of rows. When you select "Restrict Deletion," the "New Rule (Custom)" dialog box opens where you can specify the conditions for this rule.


Specify a Maximum Value

Select this rule to require the user to enter a value lower than the maximum value you specify.


Specify a  Minimum Value

Select this rule to require the user to enter a value higher than the minimum value you specify.


Specify a Value Range

Select this rule to require the user to enter a value within the range you specify.


Custom Rule

Select this option to create a custom rule. When you select "Custom Rule," the "New Rule (Custom)" dialog box opens where you can specify the conditions for this rule.


New Rule (Custom)/Edit Rule dialog box
 "New Rule (Custom)/Edit Rule" dialog box
    In RBDefine, click the New Rule button, or
    select a rule and click the Edit Rule button

About...

The "New Rule (Custom)" dialog box defines a "Custom rule" or "Restrict Deletion" rule that you apply to a column.

The "Edit Rule" dialog box allows you to modify a rule--both predefined and custom rules. If you prefer working with predefined rules, you can delete the current rule and redefine it using a predefined rule.


 "New Rule (Custom)/Edit Rule" dialog box
    In RBDefine, click the New Rule button, or
    select a rule and click the Edit Rule button

Dialog Box Options

Rule Type

The "Custom rule" or "Restrict Deletion" rule is selected.

Where

Specify the conditions for the rule in this section by defining a WHERE clause.

Where Builder

Optionally, click this button if you want to define a WHERE clause using the "Where Builder" dialog box.

Message

You can specify a message that is displayed according to the conditions you specify below.

Succeed

Select this option if you want to display a message when the value the user enters meet the conditions of the WHERE clause.

Fail

Select this option if you want to display a message when the value the user enters does not meet the conditions of the WHERE clause.

Add/Modify

Select this option if the rule will affect adding or modifying rows in the table.

Delete

Select this option if  the rule will affect deleting rows in the table.


 "New Rule (Custom)/Edit Rule" dialog box
    In RBDefine, click the New Rule button, or
    select a rule and click the Edit Rule button

See also

RULES Command

"New Rule" dialog box

WHERE Command

"Where Builder" dialog box


Pack In Place dialog box
 "Pack In Place" dialog box
    Utilities: Pack in Place...

About...

Compresses a database and eliminates space occupied by deleted rows, columns, or tables within the database. This dialog box corresponds to the PACK command.

Note: Before you compress a database, you should have a current backup of it--the database will be damaged or destroyed if this procedure is interrupted.


 "Pack In Place" dialog box
    Utilities: Pack in Place...

Dialog Box Options

Schema

Select this option to compress only the schema file, which corresponds to file .RB1.

Keys

Select this option to compress only the index file, which corresponds to file .RB3.

All

Select this option to compress the entire database (.RB1, .RB2, .RB3, and .RB4).


 "Pack In Place" dialog box
    Utilities: Pack in Place...

How to...

Compress a database using the Pack In Place option

Compress a database using the Pack To option


 "Pack In Place" dialog box
    Utilities: Pack in Place...

See also

PACK Command

RELOAD Command


Pop-Up Menus dialog box
 "Pop-Up Menus" dialog box
   Format: Pop-up Menus

About...

Defines a pop-up menu for a field object in a form. When the form is used, a pop-up menu can display values that the user can select and enter in the field.


 "Pop-Up Menus" dialog box
   Format: Pop-up Menus

Dialog Box Options

User Can Access a Pop-up Menu

Check this option to allow the user to use a pop-up menu while in this field.

Use a Custom Pop-up

Check this option if you want to create a customized pop-up menu; otherwise, the default pop-up menu is used.

Automatic Pop-up

Check this option if you want the pop-up menu to be displayed automatically when a user enters this field.

Skip to Next Field After Pop-up

Check this option if you want  to move to the next field automatically after the user selects a value from the pop-up menu.

Table Name

Select a table from which to display data.

Pop-up Type

Select the type of pop-up menu:

Single Column
Multi-Column
Expression
Expression with Column

Column Returned

For all pop-ups except Expression, select the column whose value you want entered in the field.

Menu Values

For Multi-Column pop-ups, this field lists the columns that are displayed in the pop-up menu. For Expression and Expression with Column pop-ups, enter the expression in this field.

Row

You can enter a value in this box if you want to specify on which row to display the pop-up menu.

Column

You can enter a value in this box if you want to specify on which column to display the pop-up menu.

Menu Title

Enter a title for the pop-up menu.

Use Dynamic Where Clause

Check this option if you want to prompt the user to specify which rows of data to display in the pop-up menu, then enter a WHERE clause.

Message

Enter the prompting message for the dynamic WHERE clause. Example

Where Clause

Optionally, enter a WHERE clause if you want to limit the rows of data displayed in the pop-up. If you want the user to specify which rows of data to display in the pop-up menu, prompt the user for a value by using an ampersand (&) in the WHERE clause. Example

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to limit the rows of data displayed in the pop-up.


For example, if your pop-up prompted the user to enter a state abbreviation, the WHERE clause could be "WHERE state = '&' ORDER BY cityname." The ampersand must be within the current "Quotes" setting; the default is a single quote ('). To verify this setting, choose Utilities: Settings...


For example, your pop-up could display text that says, "Display customers for which state? (enter a two-character state abbreviation)."


 "Pop-Up Menus" dialog box
   Format: Pop-up Menus

How to...

Use a pop-up menu for a field object

Customize column or variable object settings


 "Pop-Up Menus" dialog box
   Format: Pop-up Menus

See also

"Field Settings" dialog box

Form Designer


Single Column

A pop-menu with a list of values taken from a single column in a table.


Multi-Column

A pop-menu with a list of values taken from multiple columns in a table. When you select this option, a dialog box opens where you can select the columns you want to display. Only one column's value is entered in the field; this column does not have to be displayed.


Expression

A pop-up menu with a list of values from an expression. The valued displayed in the menu is entered in the field.


Expression with Column

A pop-up menu with a list of values from an expression, plus a column whose value is entered in the field.


Preferences dialog box
 "Preferences" dialog box
    Utilities: Preferences...

About...

Specifies the following:

  Locations of certain R:BASE files

  Preferences for the grid, snap, and designer tool bar

  Settings for new forms, reports, and labels

  Tools to open when you start R:BASE

These preferences are stored in the RBASE.INI file.


 "Preferences" dialog box
    Utilities: Preferences...

Dialog Box Options

Configuration Path/File Name

Enter or modify the location of the R:BASE configuration file.

Help File Path

Enter or modify the location of R:BASE help files.

Message File Path

Enter or modify the location of R:BASE message files.

SERVER.RBG File Path

Enter or modify the location of the SERVER.RBG file.

Grid On

Check this option if you want to display a grid in the Form, Report, and Label Designers.

Snap On

Check this option if you want to use the snap feature in the Form, Report, and Label Designers. The snap feature automatically aligns objects and fields to the grid when you place them.

Grid Height

Enter a value for the vertical increments (in pixels) of the grid in the Form, Report, and Label Designers.

Grid Width

Enter a value for the horizontal increments (in pixels) of the grid in the Form, Report, and Label Designers.

Show Designer Toolbar

Check this option if you want to display a tool bar in the Form, Report, and Label Designer.

Forms

Click this button to specify default settings for all new forms.

Reports

Click this button to specify default settings for all new reports.

Labels

Click this button to specify default settings for all new labels.

Object Manager

Check this option to display the Object Manager when you start R:BASE.

Status Bar

Check this option if you want to display the status bar.

RBEdit

Check this option if you want the text editor, RBEdit, to open automatically when you start R:BASE.

R> Prompt

Check this option if you want the R> Prompt to open automatically when you start R:BASE.


 "Preferences" dialog box
    Utilities: Preferences...

See also

"Form Settings" dialog box

"Report Settings" dialog box

"Label Settings" dialog box

RBEdit

R> Prompt


Print dialog box
 "Print" dialog box
    File: Print a Report/Label... or File: Print Data...

About...

Prints a report, a label, or the contents of the Data Browser or RBEdit. This dialog box corresponds to the PRINT and LBLPRINT commands.


 "Print" dialog box
    File: Print a Report/Label... or File: Print Data...

Dialog Box Options

Reports

Select this option to print a report, then select the report from the list.

Labels

Select this option to print a label, then select the label from the list.

Active Window

Select this option to print the contents of the current window.

Description

This field displays the description, if one was defined, for the selected report or label.

Where Clause

Optionally, enter a WHERE clause if you want to limit the rows of data printed for a report or label.

Where Builder

Optionally, click this button to create a WHERE clause using the "Where Builder" dialog box to limit the rows of data printed for a report or label.

Screen

Select this option to print a report or label to the screen.

Printer

Select this option to print a report, label, or the contents of the current window to the current printer.

File

Select this option to print a report, label, or the contents of the current window to an ASCII file.

Path

If you are printing to a file, you can enter the file's location and name, such as "C:\RBWIN\FILE.PRN."

Browse

If you are printing to a file, click this button to specify the file's location and name.

Print Setup

Click this button to set up your printer.

Preview

Click this button to display the contents of the Text Editor (RBEdit) as it will appear when printed.


 "Print" dialog box
    File: Print a Report/Label... or File: Print Data...

How to...

Print the contents of the Data Browser

Print a report

Print a label


 "Print" dialog box
    File: Print a Report/Label... or File: Print Data...

See also

PRINT Command

LBLPRINT

WHERE Command


QBE User Settings dialog box
 "QBE User Settings" dialog box
    Query: QBE User Settings...

About...

Specifies the settings for building queries in Query By Example.


 "QBE User Settings" dialog box
    Query: QBE User Settings...

Dialog Box Options

Common Column Names

Select this option to have R:BASE automatically link the tables' common columns (columns with the same name) when you are building queries.

PK/FK

Select this option to have R:BASE automatically link tables with primary-key and foreign-key constraints in the query conditions. To use this option, constraints must be defined. However, columns do not have to have the same name.

None

Select this option to link the tables yourself when you specify the conditions for the query.

Show Query Text by Default

Check this option to display the query conditions (the WHERE clause) vertically.

Display Query in "String" Style

Check this option to display the query conditions (the WHERE clause) horizontally.


 "QBE User Settings" dialog box
    Query: QBE User Settings...

How to...

Change the method of linking tables


 "QBE User Settings" dialog box
    Query: QBE User Settings...

See also

Query By Example


Replace dialog box
 "Replace" dialog box
    Edit: Replace...

About...

Replaces a text string with another text string in RBEdit.


 "Replace" dialog box
    Edit: Replace...

Dialog Box Options

Search String

Enter the text string you want to find and replace.

Replace String

Enter the text string you want to insert.

Match Case

Check this option to find the search string only if it matches the case as you entered it in "Search String."

Whole Words Only

Check this option to find the search string only if it matches a complete word, not a partial word.

Search Entire File

Check this option if you want to search the entire text file.

Confirm Replacement

Check this option if you want R:BASE to display a Yes/No/Cancel dialog box to confirm each replacement.

Forward

Select this option if you want to search forward (down) through the text from the cursor location.

Reverse

Select this option if you want to search backward (up) through the text from the cursor location.

Replace Once

Click this button to replace the first occurrence only.

Replace All

Click this button to replace all occurrences.


 "Replace" dialog box
    Edit: Replace...

See also

RBEdit


Replace All Column Values dialog box
 "Replace All Column Values" dialog box
    Edit: Replace All Column Values...

About...

Replaces all values (including null values) in the current column with the specified value or expression.

The following values and expressions are valid:

  Text values enclosed in quotes, such as 'Text'

  Date values enclosed in quotes, such as '5/21/95'

  Functions (arithmetic and supermath), such as (column +2)/10 and SGET(colname,4,1)


 "Replace All Column Values" dialog box
    Edit: Replace All Column Values...

Dialog Box Options

Replace All Values in this Column With

Enter the value or expression with which you want to fill the current column; all values in the column are then replaced.


Report Settings dialog box
 "Report Settings" dialog box
    Layout: Report Settings...

About...

Specifies the settings for the current report and its objects.


 "Report Settings" dialog box
    Layout: Report Settings...

Dialog Box Options

Lines Per page

Enter the number of lines to print on one page of a report.

Page Footer Line Number

Enter the line number on which to print the page footer.

Remove Initial Carriage Return

Check this option to remove the initial carriage return.

Manual Break Reset

Check this option to turn off the automatic resetting of variables at lower level breaks.

Clear Variables After Printing

Check this option to reset all variables after you print a report.

Before Report Header

Check this option to issue a form feed (page break) before each report header.

Before Report Footer

Check this option to issue a form feed (page break) before each report footer.

After Report Header

Check this option to issue a form feed (page break) after each report header.

After Report Footer

Check this option to issue a form feed (page break) after each report footer.

Portrait

Select this option to print a report with a portrait orientation.

Landscape

Select this option to print a report with a landscape orientation.

Left

Specify the left margin of the report in inches.

Right

Specify the right margin of the report in inches.

Column Objects

Click this button to specify column object settings, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify variable object settings, such as font, text and background color, and text justification.

Box Objects

Click this button to specify box object settings, such as border color, type, and width.

Text Objects

Click this button to specify text object settings, such as font, text and background color, and text justification.


 "Report Settings" dialog box
    Layout: Report Settings...

How to...

Specify page settings


 "Report Settings" dialog box
    Layout: Report Settings...

See also

Report Designer

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


 "Report Settings" dialog box
    Layout: Report Settings...

About...

Specifies the settings for all new reports and report objects.


 "Report Settings" dialog box
    Layout: Report Settings...

Dialog Box Options

Lines Per page

Enter the number of lines to print on one page of a report.

Page Footer Line Number

Enter the line number on which to print the page footer.

Remove Initial Carriage Return

Check this option to remove the initial carriage return.

Manual Break Reset

Check this option to turn off the automatic resetting of variables at lower level breaks.

Clear Variables After Printing

Check this option to reset all variables after you print a report.

Before Report Header

Check this option to issue a form feed (page break) before each report header.

Before Report Footer

Check this option to issue a form feed (page break) before each report footer.

After Report Header

Check this option to issue a form feed (page break) after each report header.

After Report Footer

Check this option to issue a form feed (page break) after each report footer.

Portrait

Select this option to print a report with a portrait orientation.

Landscape

Select this option to print a report with a landscape orientation.

Left

Specify the left margin of the report in inches.

Right

Specify the right margin of the report in inches.

Column Objects

Click this button to specify default column object settings for this report, such as font, text and background color, and text justification.

Variable Objects

Click this button to specify default variable object settings for this report, such as font, text and background color, and text justification.

Text Objects

Click this button to specify default text object settings for this report, such as font, text and background color, and text justification.

Box Objects

Click this button to specify default box object settings for this report, such as border color, type, and width.


 "Report Settings" dialog box
    Layout: Report Settings...

How to...

Specify page settings


 "Report Settings" dialog box
    Layout: Report Settings...

See also

Report Designer

"Column Object Properties" dialog box

"Variable Object Properties" dialog box

"Text Object Properties" dialog box

"Box Object Properties" dialog box

"3D Box Object Properties" dialog box


Run Form dialog box
 "Run Form" dialog box
    File: Run Form...

About...

Runs a form so that you can use it to edit or enter data.


 "Run Form" dialog box
    File: Run Form...

Dialog Box Options

Edit

Select this option if you want to use a selected form for editing data.

Enter

Select this option if you want to use a selected form for entering data.

List of Forms

All of the forms defined for the open database are listed.

Description

A description, if one is defined, is displayed for the selected form.

Where Clause

Optionally in edit mode, enter a WHERE clause if you want to limit the rows of data to display in the form.

Where Builder

Optionally in edit mode, click this button to create a WHERE clause using the "Where Builder" dialog box to limit the rows of data to display in the form.


 "Run Form" dialog box
    File: Run Form...

How to...

Run a form


Search dialog box
 "Search" dialog box
    Edit: Search...

About...

Searches for a text string in RBEdit.


 "Search" dialog box
    Edit: Search...

Dialog Box Options

Search String

Enter the text string you want to find.

Match Case

Check this option to find the search string only if it matches the case as you entered it in "Search String."

Whole Words Only

Check this option to find the search string only if it matches a complete word, not a partial word.

Search Entire File

Check this option if you want the search to include the entire file. For instance, if you do not check this option and you execute a search from the middle of the file, the search will stop at bottom of the file if "Forward" is checked (or top of the file if "Reverse" is checked). If you check this option, the search will continue searching the entire file.

Forward

Select this option if you want to search forward (down) through the text from the cursor location.

Reverse

Select this option if you want to search backward (up) through the text from the cursor location.

Search

Click this button to execute the search.


 "Search" dialog box
    Edit: Search...

See also

RBEdit


Select Column Set dialog box
 "Select Column Set" dialog box

About...

Specifies the column(s) that uniquely identify rows in the foreign table.

This dialog box opens when you attach a foreign table that has no defined primary or unique key. For best performance, you should define a primary or unique key for the table before you attach it.


 "Select Column Set" dialog box

Dialog Box Options

Select Data Source

Select the column(s) that uniquely identify rows in the current foreign table.


Select Spreadsheet Range dialog box
 "Select Spreadsheet Range" dialog box

About...

Specifies the portion of a spreadsheet to import. You can either import the whole spreadsheet, or you can specify a range of columns and rows.

Note: When specifying a range of columns and rows, you must enter a valid number in each box or you will get an error. For example, you will get an error message if you leave a box blank, or if you specify an incorrect range of values, such as columns 100 through 5.


 "Select Spreadsheet Range" dialog box

Dialog Box Options

Select Entire Spreadsheet

Check this option if you want to import the entire spreadsheet. If you want to specify a range of rows and columns to import, uncheck this option.

Upper Left Col

If you want to specify a range of columns and rows to import, uncheck "Select Entire Spreadsheet" and enter the number of the first column to import.

Upper Left Row

If you want to specify a range of columns and rows to import, uncheck "Select Entire Spreadsheet" and enter the number of the first row to import.

Lower Right Col

If you want to specify a range of columns and rows to import, uncheck "Select Entire Spreadsheet" and enter the number of the last column to import.

Lower Right Row

If you want to specify a range of columns and rows to import, uncheck "Select Entire Spreadsheet" and enter the number of the last row to import.


Set Column Width dialog box
 "Set Column Width" dialog box

About...

When importing ASCII fixed-field files, gives the spacing for each column.


 "Set Column Width" dialog box

Dialog Box Options

Default Column Width

You can change the default column width for all columns.

Comma-Delimited Column Width

You can specify a column width for each column, separated by commas.


 "Set Column Width" dialog box

See also

"Import/Export" window


Set Tab Stops dialog box
 "Set Tab Stops" dialog box
    Format: Tab Stops...

About...

Sets and modifies tab stops in RBEdit.


 "Set Tab Stops" dialog box
    Format: Tab Stops...

Dialog Box Options

Tab Stops

This section lists all the defined tab stops.

New Tab Position

Enter the position for the new tab stop in inches.

Left

Select this option to define a tab stop that is to the left of text--the text is placed on the right side of the tab stop.

Center

Select this option to define a tab stop that centers text at the tab position.

Right

Select this option to define a tab stop that is to the right of text--the text is placed on the left side of the tab position.

Decimal

Select this option to define a tab stop that aligns decimal points at the tab position.

New

Click this button to add a tab stop after you define its position and type.

Remove

Click this button to delete the selected tab stop from "Tab Stops."

Set Default

Click this button to reset all tab stops to the default setting.

Set Tabs

Click this button to accept the tab stops you have defined or modified.


Set User ID and Password dialog box
 "Set User ID and Password" dialog box
    Utilities: Set User ID and Password...

About...

Sets or modifies a user identifier and password.

If user identifiers and passwords are being used for the database you want to access, you must specify them before you can open the database. You can also change your password.


 "Set User ID and Password" dialog box
    Utilities: Set User ID and Password...

Dialog Box Options

New User Identifier

Set your user identifier.

New Password

Enter your password. If you want to change your password, enter the new password. R:BASE then prompts you for your old password, which you must enter before you can change it.


 "Set User ID and Password" dialog box
    Utilities: Set User ID and Password...

How to...

Assign an owner identifier

Specify the current identifier

Set a password


Set Wrap Lines dialog box
 "Set Wrap Lines" dialog box
    Format: Wrap Lines...

About...

Specifies settings for the text editor in RBEdit.


 "Set Wrap Lines" dialog box
    Format: Wrap Lines...

Dialog Box Options

Auto-Continuation

Check this option to add a continuation character (+) at the specified position. This option only affects the text you enter when this option is on; it does not affect the rest of the text in the window.

Wrap Lines

Check this option to wrap the lines within the window.

Character

You can modify the character used to indicate a line that wraps.

Column

Specify the column in which to place the continuation character.


 "Set Wrap Lines" dialog box
    Format: Wrap Lines...

See also

RBEdit


Sort By dialog box
 "Sort By" dialog box
    Query: Sort Clause...

About...

Sorts the result of the query in the order you specify. A sort clause is created and added to the query using the ORDER BY command.


 "Sort By" dialog box
    Query: Sort Clause...

Dialog Box Options

Table Name

This box lists the tables you have selected for the query. To sort the query by a specific column, select its table from this list.

Column Name

This section lists the columns in the selected table. Highlight a column you want to sort by.

Ascending

Select this option to sort data in ascending order.

Descending

Select this option to sort data in descending order.

Add

Click this button after you select a column and specify a sorting direction.

Current Selections

This section lists the columns you have selected to sort by. They are listed in the order in which they will be processed.

Remove

Click this button to delete the highlighted column from "Current Selections."

Move Up

You can change the order of columns in "Current Selections." Highlight the column, then click this button to move the column up in the list.

Move Down

You can change the order of columns in "Current Selections." Highlight the column, then click this button to move the column down in the list.


 "Sort By" dialog box
    Query: Sort Clause...

How to...

Specify the order to sort data


 "Sort By" dialog box
    Query: Sort Clause...

See also

ORDER BY Command


Table Columns dialog box
 "Table Columns" dialog box
    Right-click on a table name and select Select Column(s)

About...

Selects the columns for the query conditions; the query retrieves data from the columns that you select. You can also define an expression to use.  A SELECT clause is created with the column(s) and/or expression(s) using the SELECT command and is added to the query.


 "Table Columns" dialog box
    Right-click on a table name and select Select Column(s)

Dialog Box Options

Column Name

The columns in the current table are displayed in this section.

Add

Click this button to add the selected column from "Column Name" to the query conditions.

Current Selections

This section lists the columns and expressions currently selected for the query conditions in the order they will be processed.

Move Up

Moves the selected column or expression from "Current Selections" up one position.

Move Down

Moves the selected column or expression from "Current Selections" down one position.

Remove

Deletes the selected column or expression from "Current Selections."

New Expression

Click this button to define an expression for the query conditions in the "Expression Builder" dialog box.

Edit Expression

Click this button to edit the selected expression in "Current Selections."


 "Table Columns" dialog box
    Right-click on a table name and select Select Column(s)

How to...

Select the columns for a query

Use an expression in a query


 "Table Columns" dialog box
    Right-click on a table name and select Select Column(s)

See also

SELECT Command

Query By Example

"Where Builder" dialog box

"Expression Builder" dialog box


Table Information dialog box
 "Table Information" dialog box
    Layout: Add or Remove Tables...

About...

Specifies the tables and/or views to which the form can add, modify, or display data. You can add or remove tables and views from the current form.


 "Table Information" dialog box
    Layout: Edit Tables...

Dialog Box Options

Available Tables/Views

This sections lists the tables and views that are available to the current database.

Current Form

This section lists the tables and/or views that are selected for use with the form. The tables and views are listed in the order in which the user can move through the fields in the form.

Add

Click this button to add a table or view to a form; the selected table or view in "Available Tables/Views" is added to the "Current Form" list.

Remove

Click this button to delete the selected table or view from "Current Form."

Settings

Click this button to specify the settings for the table or view that is selected in "Current Form."


 "Table Information" dialog box
    Layout: Add or Remove Tables...

How to...

Add a table or view

Remove a table or view


 "Table Information" dialog box
    Layout: Add or Remove Tables...

See also

Form Designer


Table Settings dialog box
 "Table Settings" dialog box
    Layout: Table Settings...

About...

Specifies the settings for one table in a form, determines whether rows can be added and modified in the table when the form is used, and specifies the entry/exit procedures (EEPs) that will run in the form.


 "Table Settings" dialog box
    Layout: Table Settings

Dialog Box Options

Add New Rows to the Table

Check this option if you want the user to be able to add rows to the table.

Replace Existing Rows

Check this option if you want the user to be able to modify rows in the table.

Delete Rows

Check this option if you want the user to be able to delete rows from the table.

Automatic Replacement

Check this option if you want modified rows to be automatically saved when the user leaves the row. If this option is not checked, the user must confirm saving the data in the row.

Delete only from Current Table

Check this option if you want the rows to be deleted only from the current table.

On Row Entry (Run)

If you want to run an EEP as the user enters the first field for a table (as the user enters a row), enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

On Row Entry (In)

If you want to run an EEP as the user enters the first field for a table (as the user enters a row) and the EEP is a command block in a procedure file, enter the name of the procedure file.

On Row Exit (Run)

If you want to run an EEP as the user exits the last field in a row in a table, enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

On Row Exit (In)

If you want to run an EEP as the user exits the last field in a row for one table and the EEP is a command block in a procedure file, enter the name of the procedure file.

After Saving Row (Run)

If you want to run an EEP as the user exits the last field in a row for one table and after saving the data for the row, enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

After Saving Row (In)

If you want to run an EEP as the user  exits the last field in a row for one table and after saving the data for the row and the EEP is a command block in a procedure file, enter the name of the procedure file.

After Leaving Sec (Run)

If you want to run an EEP as the user exits the fields for one table and enters a field for a different table (as the user exits a section), enter the name of the EEP file. If the EEP is a command block in a procedure file, enter the name of the block.

After Leaving Sec (In)

If you want to run an EEP as the user exits the fields for one table and enters a field for a different table (as the user exits a section) and the EEP is a command block in a procedure file, enter the name of the procedure file.


 "Table Settings" dialog box
    Layout: Table Settings

How to...

Customize table settings


 "Table Settings" dialog box
    Layout: Table Settings

See also

Entry/Exit Procedures (EEPs)


Where Builder dialog box
 "Where Builder" dialog box
    Query: Where Builder... or click the Where Builder button

About...

Creates a WHERE clause. A WHERE clause allows you to specify which rows of data to use.

For example, you can display the contents of the entire customer table. However, if you wanted to display data for only those customers who live in Washington state, you must use a WHERE clause to specify this. In this case, the WHERE clause would indicate that you want to list all the rows in the customer table where the state column is equal to "WA". Example.

The Where Builder allows you to create a WHERE clause two ways. You can select columns from tables and choose operators (=, +, & and so on) by pointing and clicking, or if you are familiar with the WHERE command and syntax, you can enter the actual WHERE clause text in the space provided.


 "Where Builder" dialog box
    Query: Where Builder... or click the Where Builder button

Dialog Box Options

Table Name

Select the table from which you want information.

Select Column

Select the column from which you want information.

Add Column

Click this button to accept the column you selected and enter it in the WHERE clause.

Function Templates

If you want to use a function, select it from this list.

Use

Click this button to add the function to the WHERE clause, then enter the variables as needed in "Text of Where Clause." For example, if you choose the function ABS(arg), you must enter a value for "arg."

Operators and Keywords

Click on the following operators and keywords as needed:

=	<>	<=
>=	<	>
+	-	*
/	(	)
&	and	or
in	not	like
contains	between	is null
is not null
Text of Where Clause

The WHERE clause appears in this section. You can edit it directly.

Test Clause

Click this button to test the WHERE clause for mistakes or problems with the syntax.

Sort By

Click this button to open the "Sort By" dialog box, where you can specify how to sort the results of the WHERE clause.


 "Where Builder" dialog box
    Query: Where Builder... or click the Where Builder button

How to...

Specify the conditions of the query


 "Where Builder" dialog box
    Query: Where Builder... or click the Where Builder button

See also

WHERE clause examples

Query By Example


 Where Clause Examples

The following examples describe situations when you need to create a WHERE clause to specify the rows of data to use.

Example 1: Listing customer transaction information for February

You can view the TransMaster table using the Data Browser. However, the customers are identified by the customer ID number, not the company name, and we only want to see transactions for February. The WHERE clause for this example must list all the rows in the TransMaster table where the transaction date is in February, and must also list the corresponding company column.

First, to view transactions with a company name, link the TransMaster table and the Customer table--we want to identify who made each transaction. The customer ID number in the TransMaster table matches a customer ID in the Customer table--the link is the custid column. (By default, when you select two tables, R:BASE automatically links them, and this part of the WHERE clause is automatically entered. )

Next, to view transactions for a specific month, specify a date range for which to list transactions, or where the transaction date (the transdate column) is between February 1st and February 28th.

Note: In the WHERE clause, T1 refers to the first table in the clause, T2 refers to the second table, and so on.

Example 2: Listing customer transaction information for February
Another way of specifying this date range is to use a function--the IMON function looks at the number of the month (January is 1, February is 2, and so on). An alternative WHERE clause can use this function to list transactions for February, or where the month number of the transdate column is 2.

Example 3: Listing all companies that start with "C"
To list all customers (companies) that start with a "C," create a WHERE clause that uses a wild card. The WHERE clause for this example lists the rows in the Customer table where the company column starts with "C." The "%" operator means more than one character. Therefore, R:BASE lists all rows where the value in the company column starts with a "C" and is followed by one or more characters.

Example 4: Listing all sales for two employees (Coffin and Wilson)
To link employees to their sales transactions, link the Employees table and the TransMaster table. Next, specify the employees whose sales you want to list: Coffin and Wilson.

The WHERE clause for this example uses the empid column (employee ID) to link the Employees table and the TransMaster table, then lists transactions that are linked to employees with the last name "Coffin" or "Wilson"--the value of the emplname column. Note that the parentheses treat this part of the clause as a single condition.


=

Equal to


<>

Not equal to


 <=

Less than or equal to


 >=

Greater than or equal to


 <

Less than


>

Greater than


+

Addition

Concatenation


 -

Subtraction


 *

Multiplication


/

Division


(

Left parenthesis


)

Right parenthesis


&

Concatenation (a space between values)


 and

The condition following AND must be met in addition to the condition before it


or

Either the condition before OR or the condition following it must be met


in

Value of column exists in selected rows


not

Negative


like

Column equals the string following LIKE


contains

Contains the string following CONTAINS


between

Greater than or equal to value 1 and less than or equal to value 2


is null

Column contains no value (null)


is not null

Column contains any value


Expression Builder dialog box
 "Expression Builder" dialog box
    In the "Table Columns" dialog box, click
    the New Expression button

About...

Creates an expression to determine what data to select from the specified tables.

For example, if you select the employee first and last names (the empfname and emplname columns from the employee table), the names will be displayed in two columns. You can use an expression to display the first and last name together in one column: Example.


 "Expression Builder" dialog box
    In the "Table Columns" dialog box, click
    the New Expression button

Dialog Box Options

Table Name

Select the table from which you want information.

Select Column

Select the column from which you want information.

Add Column

Click this button to accept the column you selected and enter it in the expression.

Function Templates

If you want to use a function, select it from this list.

Use

Click this button to add the function to the expression, then enter the variables as needed in "Expression Text." For example, if you choose the function ABS(arg), you must enter a value for "arg."

Operators and Keywords

Click on the following operators and keywords as needed:

+
-
*
/
(
)
&


 "Expression Builder" dialog box
    In the "Table Columns" dialog box, click
    the New Expression button

How to...

Use an expression in a query


 "Expression Builder" dialog box
    In the "Table Columns" dialog box, click
    the New Expression button

See also

Query By Example


Conversion dialog box
 "Conversion" dialog box

About...

Asks if you want to convert a form, report, or label created with a previous version of R:BASE.

If you want to run a previous form, report, or label with R:BASE 5.5, open it in the Form, Report, or Label Designer, then save it. If you still want to use the form, report, or label with earlier Windows versions of R:BASE, choose the Save As option and save the form, report, or label with a new name.

If you save a form, report, or label created with a DOS version of R:BASE, R:BASE 5.5 creates a copy of it; you can still open the form, report, or label in the DOS version of R:BASE. However, any changes you make to the form, report, or label are made to the 5.5 copy and do not affect the DOS version of it.

After you convert a form, report, or label, you can have R:BASE format it automatically for you. If you choose to autoformat the form, report, or label, R:BASE resizes the fields vertically and moves them so that they are visible and do not overlap each other.

You can specify global default settings for objects in forms, reports, and labels in the "Preferences" dialog box. When you convert forms, reports, and labels, the objects will take on the default settings you have specified. However, if you have customized an object (such as color or font), the object will keep these settings.

Note the following results from conversions:

  Lines--All lines revert to black. Any lines created in DOS will be removed. If you have created lines in a DOS version of R:BASE by using text (such as dashes or underscores), these objects will be treated as text objects. You can remove these objects and replace them with R:BASE 5.5 line objects.

  Regions and Tiers--If you have applied a color to a region from a DOS-version form, the region will be outlined with boxes.

  Small Fields--In DOS-version forms that have fields that are 1- to 2-characters wide must be resized wider to accomodate Windows fonts.

  Report margins--Verify that field objects are within the margins; otherwise, the field objects will not be printed.


 "Conversion" dialog box

Dialog Box Options

Yes

Click this button to convert the form, report, or label to version 5.5, or click the Yes button to autoformat the form, report, or label.

No

Click this button if you do not want to convert the form, report, or label, or click the No button if you do not want to autoformat the form, report, or label.


 "Conversion" dialog box

How to...

Copy a form

Copy a report

Copy a label


Upgrade dialog box
 "Upgrade" dialog box

About...

Asks if you want to upgrade your database to R:BASE 5.5. When you upgrade a database, R:BASE creates a new system table, sys_servers. When you upgrade a 4.5x or earlier database, R:BASE creates the new .RB4 file that stores binary data, such as images.

You should back up your database before upgrading it. Once you upgrade a database to version 5.5, you can't convert it back to the original version.


 "Upgrade" dialog box

Dialog Box Options

Yes

Click this button to upgrade a database.

No

Click this button if you do not want to upgrade a database.


3D Box Properties dialog box
 "3D Box Properties" dialog box
    Select a 3D box and choose Format: Properties...

About...

Specifies the settings for a 3D box on a form. Boxes can be placed under other objects.


 "3D Box Properties" dialog box
    Select a 3D box and choose Format: Properties...

Dialog Box Options

Bevel

Enter a value (in pixels) for the bevel width. The bevel width is the thickness of the inner and outer borders.

Border

Enter a value (in pixels) for the border width. The border width is the distance between the inner and outer borders.

Black

Select this option if you want the border shadow to be black.

Gray

Select this option if you want the border shadow to be gray.

Inner Box--Inset

Select this option if you want the inner border to be inset.

Inner Box--Raised

Select this option if you want the inner border to be raised.

Outer Box--Inset

Select this option if you want the outer border to be inset.

Outer Box--Raised

Select this option if you want the outer border to be raised.

Example

This sections shows the way a 3D box appears according to the settings you specified.


 "3D Box Properties" dialog box
    Select a 3D box and choose Format: Properties...

How to...

Place a 3D box

Customize a 3D box


 "3D Box Properties" dialog box
    Select a 3D box and choose Format: Properties...

See also

Form Designer


Box Properties dialog box
 "Box Properties" dialog box
    Select a box and choose Format: Properties...

About...

Specifies the settings for a box on a form, report, or label. Boxes can be placed under other objects.


 "Box Properties" dialog box
    Select a box and choose Format: Properties...

Dialog Box Options

Width

Enter a value (in pixels) for the border width, which is the thickness of the border line.

Single Line

Select this option if you want the border to be a single line.

Double Line

Select this option if you want the border to be a double line.

Shadow Box

Check this option if you want the box to have a shadow.

Black

Select this option if you want the border to be black.

Gray

Select this option if you want the border to be gray.

Background Color

Click this button to select a color for the inside of the box.

Example

This sections shows the way a box appears according to the settings you specified.


 "Box Properties" dialog box
    Select a box and choose Format: Properties...

How to...

Place a box on a form

Customize a box on a form

Place a box on a report

Customize a box on a report

Place a box on a label

Customize a box on a label


 "Box Properties" dialog box
    Select a box and choose Format: Properties...

See also

Form Designer

Report Designer

Label Designer


Check Box Object Properties dialog box
 "Check Box Object Properties" dialog box
    Place a check box, or select a check box
    and choose Format: Properties...

About...

Specifies the settings for a check box on a form. You can place a check box when you want to use one of two values in the form; one value when the box is checked, another value when the box is not checked.


 "Check Box Object Properties" dialog box
    Place a check box, or select a check box
    and choose Format: Properties...

Dialog Box Options

Check Box Text

Enter the text that appears next to the check box.

Value if Checked (TRUE)

Enter a value that will be used for this field if the box is checked.

Value if Unchecked (FALSE)

Enter a value that will be used for this field if the box is not checked.

Column

Select this option if you want the value for the check box to be placed into a column, then select a column from the drop-down list below.

Variable

Select this option if you want the value for the check box to be placed into a variable, then select a variable from the drop-down list below.

Checked

Select this option if you want this check box to be checked by default.

Unchecked

Select this option if you want this check box to be unchecked by default.


 "Check Box Object Properties" dialog box
    Place a check box, or select a check box
    and choose Format: Properties...

How to...

Place a check box object


 "Check Box Object Properties" dialog box
    Place a check box, or select a check box
    and choose Format: Properties...

See also

Form Designer


Column Object Properties dialog box
 "Column Object Properties" dialog box
    Place a column object, or select a column object
    and choose Format: Properties...

About...

Specifies the setting for a column object on a form, report, or label. A column object displays data from a column when the form, report, or label is run. In a form, a column object can also be used to enter data in a column.


 "Column Object Properties" dialog box
    Place a column object, or select a column object
    and choose Format: Properties...

Dialog Box Options

Table Name

This field displays the current table.

Column Name

Select a column for which you want to place an object.

Keep on one Line

Select this option if you want the text that will be displayed in this field object to remain on one line.

Wrap

Select this option if you want the text that will be displayed in this field object to wrap if necessary.

Text Color

Click this button to select a color for the text displayed in this field object.

Background Color

Click this button to select a color for the background of this field object.

Font

Click this button to select a font for the text displayed in this field object.

Use Border

Check this option if you want this field object to have a border.

Left

Select this option if you want the text in this field object to be aligned to the left.

Center

Select this option if you want the text in this field object to be centered.

Right

Select this option if you want the text in this field object to be aligned to the right.


 "Column Object Properties" dialog box
    Place a column object, or select a column object
    and choose Format: Properties...

How to...

Place a column object on a form

Place a column object on a report

Place a column object on a label


 "Column Object Properties" dialog box
    Place a column object, or select a column object
    and choose Format: Properties...

See also

Form Designer

Report Designer

Label Designer


Combo Box Object Properties dialog box
 "Combo Box Object Properties" dialog box
    Place a combo box, or select a combo box
    and choose Format: Properties...

About...

Specifies the settings for a combo box on a form. A combo box is a drop-down list from which the user can select a value.


 "Combo Box Object Properties" dialog box
    Place a combo box, or select a combo box
    and choose Format: Properties...

Dialog Box Options

Editable

Select this option if you want the combo box to be editable; a user can either select an option from the combo box's drop down list, or the user can enter a value.

Non-editable

Select this option if you want the combo box to be non-editable; a user can only select an option from the combo box's drop down list.

Single Column

Select this option if you want the combo box to display values from one column.

Load Combo Box with values from Column

Select the column whose values you want to display in the combo box. This option is available when you select "Single Column."

Multi-Column

Select this option if you want the combo box to display values from more than one column, then select the columns when you are prompted. You can edit the column names.

Columns Chosen

This section displays the columns you have chosen to display in the combo box; you can edit these names. This option is available when you select "Multi-Column."

Return Value From Column

Select the column whose value you want to use. For example, you can display a customer name in the combo box; when the user selects a name, you can use the value from a customer ID number column. This option is available when you select "Single Column" or "Multi-Column."

WHERE Clause

Optionally, enter a WHERE clause to specify which rows of data to display in the combo box. This option is available when you select "Single Column" or "Multi-Column."

WHERE Builder

Click this button to create a WHERE clause in the Where Builder. This option is available when you select "Single Column" or "Multi-Column."

Expression

Select this option if you want to display values from an expression in the combo box.

Expression box

Enter an expression whose values you want to display. This option is available when you select "Expression."

Expression Builder

Click this button to create an expression using the Expression Builder. This option is available when you select "Expression."

Column

Select this option if you want to place the value from the combo box into a column, then select the column from the drop-down list below.

Variable

Select this option if you want to place the value from the combo box into a variable, then select the variable from the drop-down list below.


 "Combo Box Object Properties" dialog box
    Place a combo box, or select a combo box
    and choose Format: Properties...

How to...

Place a combo box object


 "Combo Box Object Properties" dialog box
    Place a combo box, or select a combo box
    and choose Format: Properties...

See also

Form Designer


Create Aliases dialog box
 "Create Aliases" dialog box
    Query: Column Aliases...

About...

Allows you to define new alias (correlation) names in a query. R:BASE uses alias names for columns in a query, and if you save it, its view.

You can change these column aliases for various reasons:

  When the result of the query is displayed in the Data Browser, your column aliases would be displayed as column headings instead of the R:BASE correlation names.

  If you later want to use the saved query (view) in a form, create an alias name for the columns instead of using the R:BASE aliases. For instance, you must have a common column between a table and this view in a form; however, the column from the table is colname, but the column from this view is T2.colname, and R:BASE does not recognize that they are the same column. You would then give T2.colname the alias colname.

  If you later want to use the saved query (view) in a report, you must use aliases in expressions so that you can place the corresponding variables in reports.


 "Create Aliases" dialog box
    Query: Column Aliases...

Dialog Box Options

Column Name

Select the column for which you want to create an alias. The columns that have been chosen for the query are displayed.

Modify Current Selection

Click this button to create an alias for the column selected in "Column Name."

Replace Current Selection

An alias name is displayed in the field to the right; enter the new alias name, then click this button to accept the new alias.

Alias Name

The alias names you have defined are displayed.

Use Column Aliases

Check this option if you want to use the column aliases you have defined. This option is checked automatically when you create new column aliases.


 "Create Aliases" dialog box
    Query: Column Aliases...

How to...

Specify a column alias


 "Create Aliases" dialog box
    Query: Column Aliases...

See also

Query By Example


Push Button Object Properties dialog box
 "Push Button Object Properties" dialog box
    Place a push button, or select a push button
    and choose Format: Properties...

About...

Specifies the settings for a push button in a form. When a push button is pressed, it executes an entry/exit procedure, a command block, or a predefined action.


 "Push Button Object Properties" dialog box
    Place a push button, or select a push button
    and choose Format: Properties...

Dialog Box Options

Button Text

Enter the text to display on the push button.

Custom

Select this option if you want to run an extry/exit procedure or a command block when this push button is pressed.

Pre-defined

Select this option if you want to run a predefined action when this push button is pressed.

Run

Enter the name of the entry/exit procedure or the command block. This option is available when you select "Custom."

In

If you are using a command block, enter the name of its procedure file. This option is available when you select "Custom."

Pre-defined Action to be Executed

Select one action from the following that will be executed when this push button is pressed:

Add Row
Add Row and Exit
Delete Row
Discard Row
Discard Row and Exit
Duplicate Row
Exit
Next Row
Next Table
Previous Row
Previous Table
Save Changes


 "Push Button Object Properties" dialog box
    Place a push button, or select a push button
    and choose Format: Properties...

How to...

Place a push button


 "Push Button Object Properties" dialog box
    Place a push button, or select a push button
    and choose Format: Properties...

See also

Form Designer


Discard Row and Exit

This action deletes the data from this row and exits the form.


Duplicate Row

This action adds a copy of this row to the current table.


Exit

This action exits the form.


Previous Row

This action displays the previous row in the table.


Save Changes

This action saves changes made in the form.


Next Table

This action moves the cursor to the first field in the next table.


Previous Table

This action moves the cursor to the first field in the previous table.


Next Row

This action displays the next row in the table.


Add Row

This action adds the data in this row to the table.


Add Row and Exit

This action adds the data in this row to the table and exits the form.


Delete Row

This action deletes this row from the table.


Discard Row

This action discards the data from this row in the form.


Radio Button Object Properties dialog box
 "Radio Button Object Properties" dialog box
    Place a radio button, or select a radio button
    and choose Format: Properties...

About...

Specifies the settings for radio buttons on a form. Radio buttons are associated with one table and form a group, which must include more than one radio button. Only one radio button at a time can be selected from a group.

Use radio buttons when you want the user to select one value from a selection of values.


 "Radio Button Object Properties" dialog box
    Place a radio button, or select a radio button
    and choose Format: Properties...

Dialog Box Options

Radio Button Text

Enter the text that appears next to the radio button.

Set Value to

Enter a value that will be used when this radio button is selected.

Column

Select this option if you want the value for the radio button to be placed into a column, then select a column from the drop-down list below.

Variable

Select this option if you want the value for the radio button to be placed into a variable, then select a variable from the drop-down list below.

Default Checked Button for Group

Check this option if you want this radio button to be selected by default. Only one radio button in a group can be selected.


 "Radio Button Object Properties" dialog box
    Place a radio button, or select a radio button
    and choose Format: Properties...

How to...

Place a radio button object


 "Radio Button Object Properties" dialog box
    Place a radio button, or select a radio button
    and choose Format: Properties...

See also

Form Designer


Text Object Properties dialog box
 "Text Object Properties" dialog box
    Place a text object, or select a text object
    and choose Format: Properties...

About...

Specifies the text and settings for a text box on a form, report, or label.


 "Text Object Properties" dialog box
    Place a text object, or select a text object
    and choose Format: Properties...

Dialog Box Options

Text

Enter the text you want to display.

Text Color

Click this button to select a color for the text displayed in this box.

Background Color

Click this button to select a color for the background of this box.

Font

Click this button to select a font for the text displayed in this box.

Use Border

Check this option if you want this box to have a border.

Left

Select this option if you want the text in this box to be aligned to the left.

Center

Select this option if you want the text in this box to be centered.

Right

Select this option if you want the text in this box to be aligned to the right.


 "Text Object Properties" dialog box
    Place a text object, or select a text object
    and choose Format: Properties...

How to...

Place a text box on a form

Place a text box on a report

Place a text box on a label


 "Text Object Properties" dialog box
    Place a text object, or select a text object
    and choose Format: Properties...

See also

Form Designer

Report Designer

Label Designer


Variable Object Properties dialog box
 "Variable Object Properties" dialog box
    Place a variable object, or select a variable object
    and choose Format: Properties...

About...

Specifies the setting for a variable object on a form, report, or label. A variable object displays data from a variable when the form, report, or label is run. In a form, a variable object can also be used to enter data in a variable.


 "Variable Object Properties" dialog box
    Place a variable object, or select a variable object
    and choose Format: Properties...

Dialog Box Options

Variable Name

This field displays system and currently defined variables.

Add/Edit Variables

Click this button to define or modify variables.

Keep on one Line

Select this option if you want the text that will be displayed in this field object to remain on one line.

Wrap

Select this option if you want the text that will be displayed in this field object to wrap if necessary.

Text Color

Click this button to select a color for the text displayed in this field object.

Background Color

Click this button to select a color for the background of this field object.

Font

Click this button to select a font for the text displayed in this field object.

Use Border

Check this option if you want this field object to have a border.

Left

Select this option if you want the text in this field object to be aligned to the left.

Center

Select this option if you want the text in this field object to be centered.

Right

Select this option if you want the text in this field object to be aligned to the right.


 "Variable Object Properties" dialog box
    Place a variable object, or select a variable object
    and choose Format: Properties...

How to...

Place a variable object on a form

Place a variable object on a report

Place a variable object on a label


 "Variable Object Properties" dialog box
    Place a variable object, or select a variable object
    and choose Format: Properties...

See also

Form Designer

Report Designer

Label Designer


Change Section dialog box
 "Change Section" dialog box
    Variables: Change Section...

About...

The "Change Section" dialog box allows you to change the report sections in which the variables are evaluated.


 "Change Section" dialog box
    Variables: Change Section...

Dialog Box Options

Order

Lists the variables in the report sections and in the order they are evaluated

New Position

This box displays the report section for the selected variable in "Order." If you want to change a variable's report section, select a new section from the drop-down list.

Change

Click this button to accept the new section.


 "Change Section" dialog box
    Variables: Change Section...

How to...

Change a variable's report section


 "Change Section" dialog box
    Variables: Change Section...

See also

Report Designer


Tools


RBEdit (Text Editor)
 RBEdit
    Tools: Text Editor...

About...

RBEdit, the R:BASE text editor, allows you to create and modify text files, command files, recorded scripts, and playback files.

You can specify settings such as the font, tab stops, and text wrapping. You can also search and replace text, and print files.


 RBEdit
    Tools: Text Editor...

See also

"Search" dialog box

"Set Tab Stops" dialog box

"Set Wrap Lines" dialog box

"Print" dialog box


 RBEdit
    Tools: Text Editor...


Import/Export dialog box
 "Import/Export" dialog box
    Utilities: Import/Export Database...

About...

Imports data from or exports data to a database; you can choose from a variety of standard file formats.


 "Import/Export" dialog box
    Utilities: Import/Export Database...

Dialog Box Options

Import

Select this option to import data to a database.

Export

Select this option to export data from a database.

Selected Type

Select the file format for the data.

Import From

Specify the file and path from which you want to import data.

Export To

Specify the file and path to which you want to export data.

Browse

Optionally, click this button to select a file and path for the data.

Append / Replace

When importing data, specify how you want to import; you have the following options:

Append
Replace

Autonum On

Check this option if you are importing data to a table with an autonumbered column and you want the data to be automatically numbered as it is loaded in--this column will then have autonumbered values for the new rows of data.

Selected Table

If you are importing data, select the table in which you want to import data.

If you are exporting data, select the table that will provide the data.

New Table

Click this button to import the data to a new table. The data is imported into columns with the TEXT data type and generic column names are created. You can later redefine the table in the Database Designer with new column names and data types.

Date Format

Select a data format for any dates values that are imported.

Add "19" to two-digit year

Select this option if you are importing a two-digit year and you want to place "19" before it; for instance, "95" would be imported as "1995."

Exception File

Specify an exception file (and path if necessary); any data that does not get imported will be placed in this file. For instance, data might not be imported if the data types for the imported data do not match the target table.

Select Statement

If you want to specify which rows of data to export, enter a SELECT statement.

QBE

Optionally, click this button to create a SELECT statement to specify which rows of data to export.

Execute

Click this button to import or export the specified data.


 "Import/Export" dialog box
    Utilities: Import/Export Database...


Append

Select this option if you want to add the imported data to the end of the selected table.


Replace

Select this option if you want to replace the data in the specified table with the imported data.


 Forms Runtime
    In the Object Manager, click Forms, then the Run button

About...

Runs forms you have created with the Form Designer. You can use the form to edit or enter data, unless the settings for the form specify just one use.

You can use options from the Forms menu to navigate in the form and save data. The Edit menu provides options for cutting, copying, and pasting data. The options available in these menus depends on the form settings you specified when creating the form. A tool bar appears at the top of the screen if the settings for the form specify "Show Toolbar at Runtime."

Click on a button for a description:


 Forms Runtime
    In the Object Manager, click Forms, then the Run button

See also

Entry/Exit Procedures

"Run Form" dialog box

Form Designer


 Forms Runtime
    In the Object Manager, click Forms, then the Run button


Go to previous row


Go to next row


Go to previous section


Go to next section


Go to next page


Go to previous page


Reverts the current value to its original value before you modified it


Displays the current value in the Text Editor--you can edit the value, then double-click the control box to return to the form.


Saves the values in the current row


RBDefine (Database Designer)
 RBDefine
    Tools: Database Designer...

RBDefine, the Database Designer, allows you to create and modify the tables, columns, constraints, rules, and indexes for a database. You must define the database structure using RBDefine before you can begin entering data in the database.

Click on one of the tabs above to work with that area.


 RBDefine
    Tools: Database Designer...

See also

Working with Databases

Constraints

Indexes

Rules

"New Key/Index" dialog box

"New Rule" dialog box

"New Rule (custom)" dialog box

"Set User ID and Password" dialog box

Chapter Two in the User's Manual


 RBDefine
    Tools: Database Designer...

See also

Working with Databases

Constraints

Indexes

Rules

"New Key/Index" dialog box

"New Rule" dialog box

"New Rule (custom)" dialog box

"Set User ID and Password" dialog box

Chapter Two in the User's Manual


 RBDefine
    Tools: Database Designer...

See also

Working with Databases

Constraints

Indexes

Rules

"New Key/Index" dialog box

"New Rule" dialog box

"New Rule (custom)" dialog box

"Set User ID and Password" dialog box

Chapter Two in the User's Manual


 RBDefine
    Tools: Database Designer...

See also

Working with Databases

Constraints

Indexes

Rules

SET RULES Command

"New Key/Index" dialog box

"New Rule" dialog box

"New Rule (custom)" dialog box

"Set User ID and Password" dialog box

Chapter Two in the User's Manual


 RBDefine
    Tools: Database Designer...


 RBDefine
    Tools: Database Designer...


 RBDefine
    Tools: Database Designer...


 RBDefine
    Tools: Database Designer...


 RBDefine
    Tools: Database Designer...

About...

Adds a table to the open database, or specifies a table to modify.

Information is stored in tables; for each type of data you want to store in your database, define a table. For example, to store customer information, define a customer table.

When you have finished working with the table, return to this window and click the Save button to save the changes.


 RBDefine
    Tools: Database Designer...

Dialog Box Options

Create a New Table

Select this option to create a new table.

Table Name

Enter the name of the new table.

Table Description

Enter a description of the new table.

Modify an Existing Table

Select this option to modify an existing table.

Table Name

Select the table to modify.

Save

Click this button to save changes you have made to the current table.

Table

Click this button to create a new table, specify a table to modify, and to save changes you make to the current table.

Columns

Click this button to create, modify, and delete columns in the current table.

Keys/Indexes

Click this button to define constraints and indexes for columns in the current table.

Rules

Click this button to define rules for columns in the current table.


 RBDefine
    Tools: Database Designer...

About...

Define or modify the columns for the current table. For each column, specify the type of information it can hold and select a data type.


 RBDefine
    Tools: Database Designer...

Dialog Box Options

Keys

Indicates if there are any constraints or indexes defined for that column.

PK--Primary Key
FK--Foreign Key
UK--Unique Key
I--Index

An asterisk indicates that more than one constraint or index is defined for the column; click the Keys/Indexes button to list all constraints and indexes defined.

Column Name

Displays the column name; enter a name on a blank line to define a new column.

Data Type

Select a data type for the column.

Length

For TEXT data types, specify the length of the text allowed in this column.

Not Null

Check this box if you want to prevent null values from being entered in this column.

AutoNum

Check this box if you want this column to contain autonumbered values. R:BASE automatically calculates a unique value and enters it for each new row to this table according to your specifications. For example, an identification number for products would make a good autonumbered column.

Computed

Check this box if you want to have R:BASE automatically calculate an expression you define and enter the value in this column.

Description

Enter a description for the selected column.

Default

Optionally, specify a default value for this column. For example, if a user enters a new row to this table but leaves this column blank, the default value you specify would be entered.

Precision

For NUMERIC data types--enter a value for precision, the total number of digits.

Scale

For NUMERIC data types--enter a value for scale, the number of decimal places.

Null Message

If you check "Not Null," enter a warning message that users will see if they try to enter a null value in this column.

Initial Value

If you check "AutoNum," you can enter the initial autonumbered value.

Increment

If you check "AutoNum," you can specify an increment for the next value.

Format

If you check "AutoNum," you can enter a format if you want to specify how the values for columns with TEXT data types will look. Use character modifiers to specify the character format.

For example, an autonumbered product number might start with "CX" and have four digits. A format to indicate this would be "[CX]9999."

Expression

If you check "Computed," enter the expression for this column.

New Key

Click this button to define a constraint or index for a column.

Delete Column

Click this button to delete the highlighted column.

Insert Column

Click this button to insert a blank line, allowing you to add a new column.

Duplicate Column

Click this button to copy a column; you can then use the structure of the highlighted column for other columns. A number is added to the duplicated column name so that the column names are unique.

Table

Click this button to create a new table, specify a table to modify, and to save changes you make to the current table.

Columns

Click this button to create, modify, and delete columns in the current table.

Keys/Indexes

Click this button to define constraints and indexes for columns in the current table.

Rules

Click this button to define rules for columns in the current table.


Use the following character modifiers to enter a format:

Character	Result
9	Specify a numeric digit; leading zeros are suppressed.
0	Specify a numeric digit; leading zeros are displayed.
.	Aligns digits along a decimal point.
[ ]	Encloses literal text.


 RBDefine
    Tools: Database Designer...

About...

Define constraints or indexes for columns in the current table.

Constraints

To control the data that enters your database, you can apply constraints. By applying a constraint to a column, you can prevent irreconcilable and empty data from being entered. Constraints cannot be turned off and are always enforced; you must delete the constraint if you do not want it.  R:BASE uses the following constraints:

Primary Key--A column or set of columns that uniquely identify a row; in other words, each value in a primary key column is unique. A primary-key constraint prevents duplicate (non-unique) and null values from being entered. Even if you do not specifically define a constraint, all tables (in a well-designed database) should have a primary key. You can define one primary key per table.

Unique Key--A column or set of columns that uniquely identify a row; in other words, each value in a unique key column is unique. A unique-key constraint prevents duplicate (non-unique) and null values from being entered. The only difference between a unique key and a primary key is that you can define multiple unique keys per table.

Foreign Key--A column or set of columns that match values in a particular primary key or unique key defined in a different table. A value cannot be inserted or changed in a foreign key if it does not already exist in the primary key. Not all tables have foreign keys.

Indexes

The R:BASE index is similar to an index in a book; both indexes allow you to find information faster. Instead of searching through a book page by page, you can look up the topic in the index and find the exact page number of the topic. Similarly, you can apply indexes to columns so that R:BASE finds data faster.

When you apply an index to a column, R:BASE records the location of every value in that column. Then, when you look for or sort information in the column, R:BASE uses the index to find the rows you need quickly. For example, you want to list the bonuses that employee 102 earned; if the empid column in the SalesBonus table is indexed, R:BASE finds and searches that column faster. Indexes are most useful when you have tables with many rows.

You can apply the following types of indexes:

Unique index--Ensures that the values entered in the indexed column are unique.

Full or partial text index--For columns with NOTE or TEXT data types. R:BASE preserves each character in the indexed column (a full text index). Or, you can specify the number of characters to preserve, and R:BASE hashes (converts characters to a 4-byte integer) the remaining characters (a partial index).

To keep the .RB3 file from becoming too large, use a partial index--specify enough characters to guarantee the values are unique. If the preserved values are not unique, R:BASE must unhash the values before it can identify the rows, which slows performance. If you do not specify the number of characters to preserve, R:BASE preserves all of them, unless there are more than 200 characters defined; then, R:BASE preserves the first 32 and hashes the rest.

Multi-column index--A combination of up to 8 columns in one index. For example, if you consistently search three columns when working with a certain database, you can define a separate index for each column. Or, you can define one index for all three columns--R:BASE searches a multi-column index faster than three separate indexes.

Primary, unique, and foreign key columns are indexed automatically.


 RBDefine
    Tools: Database Designer...

Dialog Box Options

Type

Indicates if there are any constraints or indexes defined for that column.

PK--Primary Key
FK--Foreign Key
UK--Unique Key
I--Index

Key/Index Name

Displays the number of the constraint, or the name of the index.

Column Name

Displays the column for which the constraint or index is defined.

Asc/Des

Indicates whether the constraint or index is in ascending or descending order.

Length

Displays the length defined for the index.

PK Table

Displays the name of primary key table to which a foreign key refers.

Message on insert of a FK value not in the referenced table

You can modify this message, which is displayed when a user tries to enter a value in the highlighted column that does not exist in the primary key table.

Message on update of a FK value to one not in the referenced table

You can modify this message, which is displayed when a user tries to change a value in the highlighted column to one that does not exist in the primary key table.

New Key

Click this button to define a constraint or index for a column.

Delete Key

Click this button to delete the highlighted constraint or index.

Table

Click this button to create a new table, specify a table to modify, and to save changes you make to the current table.

Columns

Click this button to create, modify, and delete columns in the current table.

Keys/Indexes

Click this button to define constraints and indexes for columns in the current table.

Rules

Click this button to define rules for columns in the current table.


 RBDefine
    Tools: Database Designer...

About...

Defines rules for columns in the current table.

A data entry rule ensures that the data entered into a column meets the criteria you specify. You can use rules to do the following:

  Prevent duplicate information from being entered. For example, a new stock number cannot be the same as an existing one.

  Verify that the data being entered corresponds with data elsewhere in the database. For example, the product stock number must exist in a table before you enter a sales transaction for the product.

  Prevent a row from being deleted if it corresponds with data elsewhere in the database. For example, if a transaction refers to a customer, the customer cannot be deleted from the Customer table.

  Define a value range. For example, when you enter a salary, it must be between $15,000 and $50,000. You can either specify a maximum value, a minimum value, or a range of values.

When you enter or edit data, R:BASE checks the data you enter with the corresponding rules. If the conditions of a particular rule are not met, R:BASE displays the error message defined for that rule and does not add the row. You can turn the "Rules" setting on or off; the RULES setting must be on for R:BASE to check them.


 RBDefine
    Tools: Database Designer...

Dialog Box Options

Message

Displays the type of rule defined.

Where

Displays the conditions (WHERE clause) for the rule.

Add/Modify/Delete where

Displays the conditions (WHERE clause) for the highlighted rule, which you can modify.

Succeeds/Fails, else display this message

Displays a warning message the user sees when this rule is violated; you can edit this message.

New Rule

Click this button to define a new rule.

Edit Rule

Click this button to modify the highlighted rule.

Delete Rule

Click this button to delete the highlighted rule.

Table

Click this button to create a new table, specify a table to modify, and to save changes you make to the current table.

Columns

Click this button to create, modify, and delete columns in the current table.

Keys/Indexes

Click this button to define constraints and indexes for columns in the current table.

Rules

Click this button to define rules for columns in the current table.


 RBDefine
    Tools: Database Designer...

How to...

Create a database

Open a database

Close a database

Add a table to a database

Rename a table


 RBDefine
    Tools: Database Designer...

How to...

Create a database

Open a database

Close a database

Add a table to a database

Change a column's data type

Add a column to a table

Renumber a column


 RBDefine
    Tools: Database Designer...

How to...

Apply a constraint to a column

Remove a constraint

Apply an index to a column


 RBDefine
    Tools: Database Designer...

How to...

Apply a rule to a column

Modify a rule

Delete a rule

Set rules on or off


QBE (Query By Example)
 Query By Example
    Tools: Query By Example...

About...

Creates a query to the database. A query is like a question about your data; for example, "Who are all the customers by company name who have made purchases in March?"

Building the Query--You can use Query By Example to create a query, which is made up of four parts:

  Table--select the tables for which you want to analyze data. To select a table, highlight a table in the list of tables and click the Add button. The table name is listed in Query By Example.

  Columns--specify the columns from which you want data. To specify the columns for the query, click on a table name in Query By Example with the right mouse button, and choose Select Column(s). You can also use an expression to select data. For example, if you want to list dates for a transactions for display the month only, you can enter an expression to specify this.

  Sorting order--specify the order in which you want to list data. Choose Query: Sort Clause...

  Conditions--specify the conditions the data must meet in order to be selected. For example, you can list only those transactions that are overdue.

  Example: Building a Sample Query

The Select Statement--A query is the same as a SELECT statement, which uses R:BASE commands to create a query. As you create the query, Query By Example displays the corresponding SELECT statement in the "Where Clause Text" section.

Displaying the Results of the Query--Once you have created the query, you can view the result in the Data Browser. Choose Query: Browse Query...

Saving a Query--You can save the query conditions (the SELECT statement), or you can save the resulting data in a new table. When you save the conditions of a query, it is called a view.

For example, you can create a query to list invoices that are past due. If you list past due invoices once a week, you can save the query and use it again each week. If you want to save the actual list of invoices, you can save the data to a new table.


 Query By Example
    Tools: Query By Example...

Dialog Box Options

List of Tables

This list displays the tables in the open database. You can choose Query: Hide List or Show List to hide or display this list.

Add

Click this button to add the selected column to the query.

Remove

Click this button to remove the selected column from the query.

Where Clause text

This section displays the SELECT statement that corresponds to the query.


 Query By Example
    Tools: Query By Example...

How to...

Select tables for a query

Select the columns for a query

Use an expression in a query

Specify the order to sort data

Specify the conditions of the query

Run a query

Save the result as a table

Save the result as a view


 Query By Example
    Tools: Query By Example...

See also

Working with Queries and Views

Expressions

"QBE User Settings" dialog box

"Expression Builder" dialog box

"Sort By" dialog box

"Table Columns" dialog box

"Where Builder" dialog box

Data Browser


 Query By Example
    Tools: Query By Example...


 Building a Sample Query

The following example uses the sample Concomp database.

Query: "Who are all the customers by company name who have made purchases in March?"

Decide which data is needed.

In this example, we need the company names, ID numbers, and invoice dates.

Decide which tables will provide the data.

The TransMaster table provides the invoice totals and dates, and the ID numbers of the customers who made the purchases. However, we want to list the company names--the Customer table contains the customer ID numbers and the corresponding company names. Therefore, select the TransMaster and Customer tables.

Example

Decide which columns contain the data.

In the TransMaster table, the transdate column tells us when a purchase was made, and the custid column tells us the ID number of the customer who made the purchase. In the Customer table, we need the custid column to identify the customers who made purchases, and the company column tells us the company names.

Example

Specify a sorting order.

Optionally, you can specify a sorting order; for example, sort the data by the company names in ascending order.

Example

Specify the conditions.

In this example, we don't want to list all customers who made purchases, but just those customers who made purchases in March. Therefore, the conditions of the query specifies that the transaction date must be between 3/1 and 3/31.

Example

View the results.

As you build the query, the corresponding SELECT statement is displayed. Choose Query: Browse Query... to view the results of the query in the Data Browser.

Example

Example


 Application Designer
    Tools: Application Designer...

About...

Creates and modifies applications. You can create two kinds of application: applications with pull-down menus, or applications with pop-up menus.

In the Application Designer, place the menus and menu options. You can then assign actions to the options (such as print a report or view a table), or you can define a pop-up menu for the option with another level of menu options.

To assign an action to a menu option, click on the menu option with the right mouse button and choose Menu Item Settings... You can then choose from the following actions:

Enter data using a form
Edit data using a form
Delete rows from a table
Browse and edit rows in a table
Select rows from a table
Update rows in a table
Print reports
Print labels
Custom actions
Set user identifier
Exit

You can assign more than one action to a menu option.

You can modify various settings for an application, such as the background color and message status. When you have completed the application, choose File: Save Application to save the application.


 Application Designer
    Tools: Application Designer...


 Application Designer
    Tools: Application Designer...

How to...

Add menus and menu options for pull-down menus

Add menus and menu options for pop-up menus

Assign an action to a menu option


 Application Designer
    Tools: Application Designer...

See also

Working with Applications

Running Applications

"Application Express" dialog box

"Menu Item Actions" dialog box

"Action Definition" dialog box


 R> Prompt Functions
    Tools: R> Prompt...

Click on a tab above for more information about a specific area.


 R> Prompt
    Tools: R> Prompt...

About...

Processes R:BASE commands. You can perform database actions by either choosing menu commands or by entering R:BASE commands at the R> prompt. For example, to start the Application Designer, you can choose Tools: Application Designer, or you can enter EXPRESS at the R> prompt.

You can modify various settings for the R> Prompt, such as character settings, format settings, display settings, and color settings.

Before you use the R> Prompt, you should familiarize yourself with the R:BASE commands. You can find complete information about R:BASE commands in the Reference Manual; you can also find command syntax information in the "Command Index" in online Help.


 R> Prompt
    Tools: R> Prompt...


 R> Prompt
    Tools: R> Prompt...

See also

Command Index

Data Types

Functions

"Character Settings" dialog box

"Colors Settings" dialog box

"Display Settings" dialog box

"Formatting Settings" dialog box

"Miscellaneous Settings" dialog box

"Multi-User Settings" dialog box


 Running Applications

About...

Runs applications you have created with the Application Designer. Each application will function differently according to its design.

To navigate in an application, you can use a mouse, the arrow keys, and hot keys if any have been defined. To use a hot key, press [Alt] plus the underlined letter. Press [Esc] to go to the previous menu level. If you press [Esc] from the first level of menus, you will exit the application.


 Running Applications

See also

Application Designer


 Interactive Debugger
    In the Object Manager, click Apps, then the Trace button

About...

Lets you view command files as your application runs, allowing you to find programming errors and problems. The Interactive Debugger pinpoints exactly where errors occur by allowing you to do the following:

  View the results of commands

  Find problems in application logic or command syntax

  Process individual commands, one at a time

  Process blocks of commands

  Display variables and monitor their values

  Change variable values

  Save debugging configurations for the next debugging session

As opposed to the RUN command, which just executes the instructions in a command file, the Interactive Debugger uses the TRACE command, which opens a command file and lets you observe the commands and variables as the instructions are processed. After the command(s) have executed or when the debugger pauses, the Interactive Debugger updates variables you are monitoring and displays the command file code. Error messages appear when applicable.

The Interactive Debugger works with ASCII or command or application files encoded with CodeLock. The source files must be located in the same directory as the CodeLocked files. If you are going to trace a CodeLocked application, then they must also use the standard R:BASE file extensions for source (.APP) and CodeLocked files (.APX). You can also debug entry/exit procedures (EEPs). You can trace ASCII files with any name.

Using Breakpoints and Break Variables to Interrupt the Interactive Debugger

You can interrupt the Interactive Debugger at specific points as the command file is processed by setting up breakpoints and break variables. A breakpoint is a command in the command file that interrupts processing. A break variable is a variable that causes an interruption in command processing when it is encountered by the system.

Use break variables to pause command file processing. Break variables appear in the top portion of the Interactive Debugger window. You can set a variable to interrupt the Interactive Debugger when the variable meets any of the following conditions:

  The variable is created or deleted.

  The variable's value changes.

  The variable's value is set to null.

  The variable is set to a specified value.

Using Watch Variables to Monitor Values

A watch variable is a variable that you can monitor as the command file is processed. Use watch variables to provide debugging information. After you define watch variables (you can set a maximum of ten), they appear in a list at the top of the Interactive Debugger window. Every time control returns to the Interactive Debugger, it refreshes the watch variables.


 Interactive Debugger
    In the Object Manager, click Apps, then the Trace button


 Interactive Debugger
    In the Object Manager, click Apps, then the Trace button

See also

Working with Applications

Chapter Four in the User's Manual


 Data Browser/Data Editor
    Tools: Data Browser...

About...

Displays data from tables and results of queries in a tabular format. You can use the scroll bars to view the data that doesn't fit in the window. You can also modify the layout of the data in the Data Browser. You can modify the following:

  The size of the cells in the table

  The text and background colors of individual columns

  The sorting order of the data

  The order of the columns

You can also hide columns and duplicate rows.

You can analyze the data by performing various calculations--you can find minimum and maximum values in a column, sum a column, count the number of occurrences for each value, and so on.

To view data from tables--choose Tools: Data Browser to view data in a table you select. You can view the data in browse mode (Data Browser), or you can edit the information in edit mode (Data Editor--choose Edit: Edit Data...).

To view the results of a query--when you create a query, choose Query: Browse Query... to view the results in the Data Browser.


 Data Browser/Data Editor
    Tools: Data Browser...


 Data Browser/Data Editor
    Tools: Data Browser...

See also

Working with the Data Browser

Working with Queries and Views

Query By Example


 Object Manager
  Tools: Object Manager...

About...

Gives you easy access to the data in your database. The Object Manager organizes the various parts of your database. For example, to list all the tables for the open database, click the Tables tab. The buttons along the right side allow you perform actions.

Note: The buttons vary depending on the tab you click. For a complete description of each button, see "Objects" below.

Click on an area or button for more information:


 Object Manager
  Tools: Object Manager...

Dialog Box Options

Applications

Click this tab to list all applications.

Databases

Click this tab to list all databases.

Tables

Click this tab to list all tables for the open database.

Views

Click this tab to list all views for the open database.

Reports

Click this tab to list all reports for the open database.

Labels

Click this tab to list all labels for the open database.

Forms

Click this tab to list all forms for the open database.

New

Click this button to create a new item.

Run

Applications, Reports, Labels, and Forms--click this button to run the selected application or form, or print the selected report or label.

Open

Databases, Tables, and Views--click this button to open the selected database, or display the selected table or view in the Data Browser.

Design

Click this button to modify the selected item in the corresponding Designer. For example, if you highlight a report and click this button, the Report Designer opens the selected report.

Copy

Click this button to copy the selected item with a new name.

Rename

Click this button to rename the selected item.

Delete

Click this button to delete the selected item.

Trace

Applications only--click this button to debug the selected application in the Interactive Debugger.

Browse

Click this button to change the current working directory.

Help

Click this button to open context-sensitive online Help.


 Object Manager
  Tools: Object Manager...

See also

RBDefine

Report Designer

Form Designer

Label Designer

Application Designer

Interactive Debugger

Running Applications

Forms Runtime

Working with Databases

Working with Applications

Working with Labels

Working with Reports

Working with Forms


Applications

Click this tab to list all applications.


Databases

Click this tab to list all databases.


Tables

Click this tab to list all tables for the open database.


Views

Click this tab to list all views for the open database.


Reports

Click this tab to list all reports for the open database.


Labels

Click this tab to list all labels for the open database.


Forms

Click this tab to list all forms for the open database.


List

This section lists the items. For example, if you click the Forms tab, this section lists forms.

Highlight an item to view its description or perform an action on it.


New

Click this button to create a new item.


Open

Click this button to open the selected database, or display the selected table or view in the Data Browser.


Design

Click this button to modify the selected item in the corresponding Designer. For example, if you highlight a report and click this button, the Report Designer opens the selected report.


Copy

Click this button to copy the selected item with a new name.


Rename

Click this button to rename the selected item.


Delete

Click this button to delete the selected item.


Help

Click this button to open context-sensitive online Help.


Descriptions

This section displays a description (if you have defined one) for the highlighted item.


 Report Designer
    Tools: Report Designer...

About...

Creates and modifies reports. A report contains data from a database and is organized to your specifications. Reports include invoices, checks, statements, address lists, and standard reports such as sales figures. Reports can be printed to a printer, to the screen, and to an ASCII file.


 Report Designer
    Tools: Report Designer...


 Report Designer
    Tools: Report Designer...

How to...

Work with reports


 Report Designer
    Tools: Report Designer...

See also

Binary Large Objects

Expressions

Working with Reports

PAGEMODE Code Examples

Using Previous Versions of Forms, Reports, or Labels

"Form/Report/Label Designer" dialog box

"Report Settings" dialog box

"Preferences" dialog box

"Create Breakpoint" dialog box

"Create Aggregate Function" dialog box

"Print" dialog box

Chapter Three in the User's Manual


Report Designer - Layout
 Report Designer: Layout
    Tools: Report Designer...

Layout

When using the Report Designer, you have the options of using the following features:

  Tool bar--provides tools for placing and working with report objects.

  Grid--displays a grid that helps you lay out objects on the report.

  Snap--aligns objects automatically to points on the grid.

You can turn any of these features off.

You can also set the rulers to display inches or centimeters--to toggle this setting, click with the right mouse button on a ruler.


Report Designer - Sections
 Report Designer: Sections
    Tools: Report Designer...

Report Sections

A report contains five sections:

	RH	PH	D	PF	RF
When you place objects, place them in the section in which you want to display them. For example, if you want to place a text object that prints the report title, place this object in the Report Header (RH) section.

You can change the size of the sections by dragging the corresponding line up or down. To delete a section, click on the corresponding line and press [Delete]. To add a section, select it from the Go To menu.


RH

Report Header--displays the information in this section once at the beginning of the report.


PH

Page Header--displays the information in this section at the top of each page.


D

Detail--displays a block of data from the driving table or view. This section is repeated for each row of data.


PF

Page Footer--displays the information in this section at the bottom of each page.


RF

Report Footer--displays the information in this section once at the end of the report.


Report Designer - Breakpoints
 Report Designer: Breakpoints
    Tools: Report Designer...

Breakpoints

You can also define breakpoints in a report to group data. For each breakpoint you define, you can also define a corresponding break header and break footer that change each time the breakpoint changes. Breakpoints are useful for displaying subtotals because you can display variables that are reset to zero at each breakpoint.

For example, in a sales report for employees, you can define a breakpoint to be the empid (employee ID number) column. If there are eight employees, the breakpoint will change eight times. You can define a sales subtotal variable to be displayed in the break footer. Each time the breakpoint changes to the next employee, the break footer displays the sales subtotal for that employee. You can then see how much each employee sold. In the break header, you could display the employee name.

For more information about breakpoints, refer to "Setting Breakpoints" in Chapter Three in the User's Manual.


Report Designer - Objects
 Report Designer: Objects
    Tools: Report Designer...

Objects

In the Report Designer, place column and variable objects on the report to indicate what data to include. Objects correspond to the following:

  Columns--Columns correspond to the columns in the driving table or view--for example, if you wanted to print invoice totals, you must place an object that corresponds to the invoice total column.

  Variables--Variables can include system variables such as the time or date, and you can define variables to display the result of an expression. For example, if you want to display sales tax, you can define an expression to calculate the sales tax and display the result in the variable.

  Text--You can display text objects. For example, you can display a title.

You can also draw lines and boxes on the report to organize the information.

You can work with one object at a time, or work with groups. When you work with individual objects, you can specify its properties, such as the column with which it is associated. Or, if you want to customize the appearance, you can select multiple objects and apply the same font or size to them.

You can also specify default settings for report objects. You can either specify the default setting for an individual report (included in the report settings), or you can specify global settings that affect objects in all new reports. Choose Layout: Report Settings... to modify report settings for one report; choose Utilities: Preferences... to specify global report settings.


Report Designer - Expressions
 Report Designer: Expressions
    Tools: Report Designer...

Expressions

You can use expressions in a report to display information from calculations or from other tables. For example, to calculate a percentage, you must use an expression and display the result in a variable. You can also use aggregate functions. For more information, refer to "Using Variables and Expressions" in Chapter Three in the User's Manual.


Report Designer - Printing
 Report Designer: Printing
    Tools: Report Designer...

Printing

Before you can print the report, you must save it. Choose File: Save Report. Next, to print the report, choose File: Print Report/Label.


 Form Designer
    Tools: Form Designer...

About...

Creates and modifies forms. You can create forms to display, enter, or edit information from a database. Forms are like paper forms; for example, a change-of-address field has spaces for you to fill in your name and address. An R:BASE form you create also has spaces (field objects). You could create a form to enter or modify customer information.

Forms are associated with tables or views from the database. To enter sales information in a form, the form should be associated with tables that correspond to customer information, employee information, product information, and transaction information.

Example


 Form Designer
    Tools: Form Designer...


 Form Designer
    Tools: Form Designer...

How to...

Work with forms


Form Designer - Layout
 Form Designer: Layout
    Tools: Form Designer...

Layout

When using the Form Designer, you have the options of using the following features:

  Tool bar--provides tools for placing and working with form objects.

  Grid--displays a grid that helps you lay out objects on the form.

  Snap--aligns objects automatically to points on the grid.

You can turn any of these features off.

When designing a form, you can control how your user navigates within the form by using pages and screen areas. A form is five pages long, allowing for very large forms. For instance, if you are using 640 x 480 resolution monitor, one page is as large as 25 computer screens. Unused pages are not displayed when the form is used.

Because one page in a form exceeds the size of a user's monitor, you cannot be sure the user will know that there are more fields to fill in when using the form. If you compare a user's monitor size to a sample form, you see that the entire form cannot be seen at one time on the computer screen.

Example

To help the user get to each part of the form, you can define screen areas. A screen area is an area of the form that you define, and its size is determined by the target user's screen resolution. The form from the previous example will fit into three screen areas.

Example

When using the form, the user presses [F6] to see the next screen area.

Example

Screen areas are also useful when you are designing a form for a user whose screen resolution is different from your own. For instance, if you design a form on a higher resolution monitor than your user's monitor, specify the target user's resolution, not your own. The Form Designer will show you how large the user's monitor screen is, and you can design the form specifically for that size.


 Form Designer
    Tools: Form Designer...

See also

Working with Forms

Binary Large Objects

Entry/Exit Procedures

Expressions

Using Format Masks

Using Previous Versions of Forms, Reports, or Labels

"Form/Report/Label Designer" dialog box

"Run Form" dialog box

Chapter Three, "Working with Forms" in the User's Manual


Form Designer - Objects
 Form Designer: Objects
    Tools: Form Designer...

Objects

In the Form Designer, you can place spaces, or objects, on the form to indicate what data to include. Objects correspond to the following:

  Columns--columns correspond to a form's tables and views. For example, if you wanted to enter employee information, you need objects that correspond to the employee first name, last name, address, and hire date.

  Variables--variables can include system variables such as the time or date, and you can define variables to display the result of an expression. For example, if you want to display sales tax, you can define an expression to calculate the sales tax and display the result in the variable.

  Combo boxes--use a combo box (a drop-down list) on a form when you want users to select an item from a list. Or, use an editable combo box to give users the option to enter a value or select one from a list.

  Check boxes--place check boxes on a form when you want users to make true/false or yes/no selections.When you define a check box, you specify a value that will be used if the box is checked, and a value to use if the box is not checked. You can then specify in which column or variable to place this value.

  Radio buttons--place radio buttons on a form when you want users to select one option from a group of options. Radio buttons associated with one column in a table are defined as a group; you must choose one radio button per group to be selected by default. You cannot make more than one selection from a group of radio buttons. When the user selects a radio button, the value you have specified will be placed in a column or variable you have selected.

  Push buttons--place a push button on a form when you want to run an entry/exit procedure, a command block, or a predefined action when the user presses the push button.

  Text--you can display text objects. For example, you can display a title.

You can place regions and tiers on a form. A region is an area that displays column and variable objects from one table.

A region can display multiple rows of data if you define a tier, which is an area within a region that is associated with one row from the table. When you define a tier, the objects in the region are duplicated as many times as they can fit within the region area. You can size the region larger to fit more tiers inside.

When you define a region for a table in a form, you must include all objects associated with that table. For instance, if you defined a region for a table that also had radio buttons associated with it, you must include the radio buttons in the region.

You can also place boxes, 3D boxes, and lines on a form to visually organize the data.

You can work with one object at a time, or work with groups. When you work with individual objects, you can specify its properties, such as the column with which it is associated. Or, if you want to customize the appearance, you can select multiple objects and apply the same color or size to them.


Form Designer - Settings
 Form Designer: Settings
    Tools: Form Designer...

Settings

You can specify settings for individual objects, tables, or the entire form. These settings determine the format of data, the tables to include in a form, entry/exit procedures used, pop-up menus for objects, menus available for the form, and how the form will be used. You can also specify preferences for the Form Designer.

You can also specify default settings for form objects. You can either specify the default setting for an individual form (included in the form settings), or you can specify global settings that affect objects in all new forms. Choose Layout: Form Settings... to modify form settings for one form; choose Utilities: Preferences... to specify global form settings.

Related Dialog Boxes

"Form Settings" dialog box

"Field Settings" dialog box

"Pop-up Menus" dialog box

"Table Information" dialog box

"Table Settings" dialog box

"Preferences" dialog box


Form Designer - Expressions
 Form Designer: Expressions
    Tools: Form Designer...

Expressions

You can use expressions in a form to display information from calculations or from other tables. For example, to calculate a percentage, you must use an expression and display the result in a variable.


Form Designer - Running Forms
 Form Designer: Running Forms
    Tools: Form Designer...

Running a form

Before you can use the form, you must save it--choose File: Save Form. You can then use the form by running it in Forms Runtime.


Use the form to enter data:


Use the form to look at or change data:


 Label Designer
    Tools: Label Designer...

About...

Creates and modifies labels. A label contains data from a database, which you can use for mailing labels, shipping labels, product labels, and so on. Labels can be printed to a printer, to the screen, and to an ASCII file.


 Label Designer
    Tools: Label Designer...


 Label Designer
    Tools: Label Designer...

How to...

Work with labels


Label Designer - Settings
 Label Designer: Settings
    Tools: Label Designer...

Settings

When you first open the Label Designer, specify the label settings--choose Layout: Label Settings. You can then choose a template for the size of the label, or modify one as necessary.

You can also specify default settings for label objects. You can either specify the default setting for an individual label (included in the label settings), or you can specify global settings that affect objects in all new labels. Choose Layout: Label Settings... to modify label settings for one label; choose Utilities: Preferences... to specify global label settings.


 Label Designer
    Tools: Label Designer...

See also

Expressions

Using Previous Versions of Forms, Reports, or Labels

"Form/Report/Label Designer" dialog box

"Label Settings" dialog box

"Preferences" dialog box

"Print" dialog box

Chapter Three, "Working with Labels" in the User's Manual


Label Designer - Layout
 Label Designer: Layout
    Tools: Label Designer...

Layout

When using the Label Designer, you have the options of using the following features:

  Tool bar--provides tools for placing and working with label objects.

  Grid--displays a grid that helps you lay out objects on the label.

  Snap--aligns objects automatically to points on the grid.

You can turn any of these features off.


Label Designer - Objects
 Label Designer: Objects
    Tools: Label Designer...

Objects

In the Label Designer, place objects on the label to indicate what data to include. Objects correspond to the following:

  Columns--columns correspond to the columns in the driving table or view. For example, if you want to print a name and address, you must place an object that corresponds to these columns.

  Variables--variables can include system variables such as the time or date, and you can define variables to display the result of an expression. For example, if you want to display a first name and last name together, use an expression to concatenate the names.

  Text--you can display text objects.

You can also draw lines and boxes on the label to organize the information. When you place objects, lines, and boxes, place them within the label's border.

You can work with one object at a time, or work with groups. When you work with individual objects, you can specify its properties, such as the column with which it is associated. Or, if you want to customize the appearance, you can select multiple objects and apply the same font or size to them.


Label Designer - Printing
 Label Designer: Printing
    Tools: Label Designer...

Printing labels

Before you can print the label, you must save it. Choose File: Save Label. Next, to print the label, choose File: Print Label/Label.